DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Architecting Petabyte-Scale Hyperspectral Pipelines on AWS
  • Securing CI/CD Pipelines Against Supply Chain Attacks: Why Artifacts and Dependencies Matter More Than Ever
  • Building a Scalable ML Pipeline and API in AWS
  • Redefining Artifact Storage: Preparing for Tomorrow's Binary Management Needs

Trending

  • Architecting Proactive IT: NinjaOne Remote Monitoring and Management
  • Engineering Closed-Loop Graph-RAG Systems, Part 3: Closing the Loop in Graph-RAG Systems
  • Detecting Plan Regression in SQL Server Using Query Store
  • How to Interpret the Number of Spring ApplicationContexts in Integration Tests
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. JFrog Artifactory vs AWS CodeArtifact: Promotion Pipelines

JFrog Artifactory vs AWS CodeArtifact: Promotion Pipelines

You can't promote artifacts without metadata and a set of repositories per environment. Pick your artifact service accordingly.

By 
Baruch Sadogursky user avatar
Baruch Sadogursky
·
Jul. 06, 20 · Analysis
Likes (1)
Comment
Save
Tweet
Share
5.0K Views

Join the DZone community and get the full member experience.

Join For Free

This post is a part of a series by JFrog Developer Advocates, comparing JFrog Artifactory to AWS CodeArtifact. You can find the other parts in JFrog Blog on Dev.to.

A simple question: why do you need an artifact repository for?
There are many correct answers to this question, and AWS gives us their take right on the "Getting Started" page of CodeArtifact:
CodeArtifact Use Cases

Notice anything missing? You knew it, promotion pipeline!
Over the years of JFrog experience, it emerged as the most important and critical use case. What I mean by that is the repositories in the tool are used as staging areas for artifacts of different maturity: repository/ies for development, repository/ies for testing, repository/ies for staging, etc:
Maven repositories in JFrog Arifactory

Once you have repositories like maven-stage-local and maven-prod-local, what do you do next? Well, your CI server will deploy the artifacts into the beginning of your pipeline, and after passing the quality gates, your pipeline orchestrator (might be your CI server, but might be another tool, like JFrog Pipelines, for example) will promote the artifacts from one repository to another:

How this promotion is done? On a surface – easy. You just move (or copy) the artifacts, and annotate everything you did in the metadata.

quality gates

The first question is to move or to copy? It's a matter of personal preference. With Artifactory it doesn't matter, really, since the artifacts are deduplicated across the entire platform, so you don't pay for having extra copied (in storage or money).
In CodeArtifact you will pay for every copy you hold (I didn't find any evidence suggesting otherwise), so you'd prefer moving? Well, you can't, there is no "move artifact" action.

Well, this is annoying, but at the end of the day it does the job, right? You get your artifacts from one repo (dev) to another one (staging)? Kinda. What about the metadata? What was promoted? Which set of artifacts? Why? Who moved it? Why? Based on what quality gates? This information is critical both for decision making and for investigation if (when?) shit hits the fan. 

Promoting (moving or copying) single artifacts is okay, but what you really want to promote is a build – a set of artifacts and metadata, and you want to generate metadata about the promotion.

So, to summarize, here's what I miss in CodeArtifact repository management at the moment:

  • A clean way to implement a pipeline with quality gates (sets of repositories for different maturity).
  • A way to atomically promote groups of artifacts and metadata (a build) while leaving the necessary paper trail of metadata.
  • Promotion by movement.

Needless to say, you have them all in JFrog Artifactory.

AWS Pipeline (software) Artifact (UML)

Published at DZone with permission of Baruch Sadogursky. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Architecting Petabyte-Scale Hyperspectral Pipelines on AWS
  • Securing CI/CD Pipelines Against Supply Chain Attacks: Why Artifacts and Dependencies Matter More Than Ever
  • Building a Scalable ML Pipeline and API in AWS
  • Redefining Artifact Storage: Preparing for Tomorrow's Binary Management Needs

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook