A Comparison: Artifactory vs ProGet

KB#1115: Last Updated Feb 13, 2019

Artifactory and ProGet are both enterprise level Universal Package (artifact) Repositories and are quite similar in function; in fact, if you read the marketing bullets they’d probably sound identical. Before we developed ProGet we were Artifactory users, which gave us the unique ability to learn from JFrog’s tool and take into consideration some of the challenges when building our own product.

Packages vs. Artifacts

This is the fundamental difference between ProGet and Artifactory. ProGet was originally designed as a NuGet package manager and Artifactory for Maven. Packages and artifact inherently mean different things.

Artifacts are simply an output or collection of files (ex. JAR, WAR, DLLS, RPM etc.) and one of those files may contain metadata (eg. POM file). Whereas packages are single archive files of a well-defined format (ex. NuGet) that contain files appropriate for the package type (ex. DLL, PDB). This fundamental difference has impacted the way each tool was developed; Artifactory has repositories and ProGet has feeds. Repositories are conceptually structured like a disk; similar to folder and files, whereas feeds have API search, query, and access packages.

Built on .NET for .NET

ProGet was originally developed as a package manager for NuGet. With our roots in .NET, features like the Built-in Symbol Server and Chocolatey support often make it the leading choice for those who develop primarily or sole on .NET. ProGet also has a limited – but powerful – free version that suits the needs of many teams large and small alike.

JFrog vs. Inedo

Another aspect worth noting is the company focus. With their three tools Artifactory, Bintray, and Mission Control, JFrog’s main concentration is on artifact management. Their tools answer a specific need and fulfill a singular aspect of your DevOps toolchain. At Inedo, we are the makers of multiple DevOps products spanning a boarder segment of your toolchain and offer a more holistic approach to your software development process.

Battle of the Brands

JFrog and Inedo are both five letter names, one’s green and the other’s red. JFrog is full of fun puns like “once you leap forward, you won’t go back” and with their awesome art like the "Bat Frog" and “Frog Father” we’ll concede, they’re the clear winner in the pun department. But with our tool Otter, we 'otta' have a lot more puns coming soon!

Best of Both worlds: ProGet + Artifactory

Artifactory is feature heavy and contains many different feed types; in contrast, ProGet has similar feeds types (with more on the horizon) but excels in specific areas like .NET/NuGet support with its built-in Symbol Server. Artifactory has a more developed Maven/Java support compared to ProGet’s Maven support. For those who develop on both Java and .NET a combination of both tools complement each other nicely and provide the “best of both worlds”.

Artifactory Terminology vs ProGet Terminology

If you're already familiar with Artifactory, this may help explain similar concepts.

Artifactory ProGet Notes
Artifact Package Essentially one of two things: a library or an application
Remote Repository Connector This is where filtering and regulation of assets occurs
Virtual Repository Feed ProGet started as a NuGet repository Manager, it uses the NuGet terminology “Feeds”
Generic Repository Universal Feed Designed for application package management
High Availability Enterprise Both have automatic failover, ProGet doesn’t require session affinity