If you’re developing server side code in PHP, there’s a pretty good chance you’re using PHP Composer to manage your dependencies and getting 3rd party components from Packagist. To host your internal private packages, you might be using Toran Proxy or your own Git repository. You might even be using open source Satis for your repositories.
Well, guess what. Your life just got easier. Why?
Because Artifactory now supports PHP Composer repositories. That means it can proxy and manage the dependencies you need from Packagist, and host your internal packages and index files on private PHP Composer repositories. Sure, Toran Proxy may answer some of your needs for managing your PHP dependencies, but there are many capabilities that you can’t get until you move to Artifactory. Here are a few.
You might be using Composer for your PHP development, but someone else on your floor is using Bower for front-end development, and somewhere else in the building, your DevOps are providing virtualized environments with Docker. How many different repositories should you have to maintain to support your different development environments? The answer is ONE!
First and foremost, Artifactory is a universal artifact repository which means that it supports all major package formats. But what about builds and continuous integration? Some teams might use Maven with Jenkins CI, others might use Gradle with TeamCity, while yet others may even use a cloud CI provider. The good news is that Artifactory supports all these scenarios. It works seamlessly with all common build tools and CI servers, so regardless of how your development ecosystem is constructed, Artifactory can sit in the middle, hosting your internal packages, and being your one-stop-shop for packages from any external resource.
Smart Search and AQL
An enterprise artifact repository can quickly grow to host millions of artifacts, and finding that one specific file you happen to be looking for can easily become that needle in the binary haystack.
Artifactory makes search both simple and yet sophisticated. From the simplest search based on inherent properties like name and creation date, through search based on properties (including custom properties), to searching for artifacts based on their checksum, Artifactory offers many different ways to find artifacts. Then, there’s Artifactory Query Language (AQL), the search super-hero. AQL gives you a simple way to formulate queries to any degree of complexity making it easy for you to hone in on that needle using any number of search criteria, filters, sorting options and output fields. AQL effectively turns your repositories and metadata into a goldmine of information that previously could not be utilized. Try searching for PHP packages downloaded from Packagist that have a dependency with a license that is not “Apache”. You can only do that with AQL on Artifactory.
Satis may host your internal private packages, but how well does it support cross-team collaboration? What if you need to work with another team in one corner of the globe, and then, your QA team is in another corner of the globe. And then, how stable is Satis (or Toran Proxy for that matter). Has it ever gone down or been unavailable? As your dependency manager, it’s critical for your development teams and build servers. And then, where are your packages hosted? Oh, of course, on your file system. How many terabytes can your file system handle? How complex is it to add storage when you need it? Artifactory has answers to all these questions.
First, let’s talk about global collaboration. Through support for multi-push replication, Artifactory keeps repositories synchronized across multiple dispersed sites, so teams working in different parts of the globe effectively see the same artifacts in their working repositories. Now, let’s talk about availability. Artifactory can be deployed in a high availability configuration using a redundant server architecture which provides up to five-nines availability. With no single-point-of-failure, even if one server goes down, the others are there to continue providing service to all users. Finally, we get to storage. Artifactory offers unmatched capabilities for storage, so your object store effectively has infinite potential to grow as much as you need it to. Whether it’s through filestore sharding capabilities, or cloud-based object store (AWS or GCP), Artifactory’s support for object store lets your repositories scale massively as your business grows.
That only scrapes the surface. I could go on to talk about things like remote and virtual repositories, user management, integration with corporate authentication systems like LDAP and Active Directory, SSO, SSH, OAuth authentication, user plugins, GPG signing and much more, none of which you could get from Satis or even Toran Proxy. For real enterprise-grade repository management when developing PHP with Composer, you need Artifactory.