We have a requirement where we need to develop a custom product where the software component life cycle needs to be managed i.e. upload, download, recall etc. one option is to go with Custom API leveraging Azure Artifacts and the other option is to go with Artifactory. Can we have some insight on what are the Pros and Cons of these two solution. some of the links which provides info are https://www.g2.com/products/azure-artifacts/competitors/alternatives In addition to that i would also like to understand how is their support towards package managers mainly cocoapods, maven etc
3 Answers
JFrog Artifactory pros
Artifactory supports 25+ package types, while Azure supports only Maven, npm, NuGet and Python. You can get Docker and Helm with Azure Container Registry but it’s a separate tool.
Artifactory is fully hybrid - available both for on-premise installations and as SaaS - with full parity between the versions.
With Artifactory you can avoid vendor lock-in - not depending just on one cloud vendor for all of your needs. That also means not being limited to any vendor’s stack for your database, access management, etc. Proxy any remote repository - not just the official ones (like Maven Central and PyPI.org)
Artifactory is optimized for multi-site operations - Supports any network topology, over multiple, geographically distant sites and data centers, through different options for replication including pull, push, event-based and multi-push replication.
Rich metadata & AQL - Artifactory provides full metadata capabilities for all major package formats for both artifacts and folders – including custom metadata. Users can tag artifacts and folders with searchable properties. Artifactory also collects build information for build artifacts as part of the CI server integration (see below). AQL gives you unprecedented flexibility in how you search for artifacts. It offers a simple way to formulate complex queries that specify any number of search criteria, filters, sorting options and output fields.
Build info - Artifactory stores exhaustive metadata for all build artifacts deployed to it. With this “bill of materials” it is easy to faithfully reproduce a build, and trace the cause of issues to reduce time to resolution (TTR), even if the build is already in production.
Azure Artifacts pros
if your CI is already built on Azure DevOps, the initial set up for Azure Artifacts may be a bit quicker. The basic functionality of hosting artifacts, so that they can be resolved by other builds will work for you.
Disclaimer: I'm a JFrog employee.
-
Is it possible to have an Artifactory deployment that resides in cloud and on prem, and syncs its storage in the background? Commented Jan 29 at 14:22
Microsoft Artifact makes a lot of sense if you are using other Microsoft Azure products such as their DevOps solutions. If you are using Azure, Microsoft Artifact will integrate well with the rest of the platform, have better support (only 1 vendor to deal with), and should have better performance since the data will all be in their network. Additionally, you would not be billed for a data out transfer to create and store the artifact.
On the other hand Artifactory is designed to be more technologically agnostic. It will integrate with major cloud providers (Azure, Google, AWS) and supports many different types of technologies. However, there will be some setup and configuration to get it up and running if using the On-Prem version.
-
Any inputs on how is the support is provided on Microsoft artifact to support package manager like cocoa pods. Artifactory like JFrog provides cocoa art plugin. similarly is there any support available here as well.– shriCommented Dec 21, 2019 at 6:15
-
4@shri please mark the answer as accepted if it answers your question– 030Commented Dec 21, 2019 at 10:20
-
@Rolnick - thanks for your response, can you pl. share some light on Microsoft support on different package manager for iOS, Android, Xamarin– shriCommented Dec 22, 2019 at 9:56
-
@shri: Can you post that as a different question? It is very different from the original question asked and the answer will vary based on what your goal is with that type of support. Commented Dec 23, 2019 at 16:21
If you're using Java/Maven/Gradle, Azure Artifacts only supports ONE external repository: Maven Central. If your package is not in that repository, you are pretty much bound to use Artifactory or Nexus, or some similar alternative.