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 Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • Scaling Site Reliability Engineering (SRE) Teams the Right Way
  • Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
  • How To Use Pandas and Matplotlib To Perform EDA In Python
  • Automating the Migration From JS to TS for the ZK Framework

Trending

  • Scaling Site Reliability Engineering (SRE) Teams the Right Way
  • Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
  • How To Use Pandas and Matplotlib To Perform EDA In Python
  • Automating the Migration From JS to TS for the ZK Framework
  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.

Baruch Sadogursky user avatar by
Baruch Sadogursky
·
Jul. 06, 20 · Analysis
Like (1)
Save
Tweet
Share
4.03K 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, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Scaling Site Reliability Engineering (SRE) Teams the Right Way
  • Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
  • How To Use Pandas and Matplotlib To Perform EDA In Python
  • Automating the Migration From JS to TS for the ZK Framework

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: