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
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
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. Use a Binary Repository Manager and Keep Up With DevOps

Use a Binary Repository Manager and Keep Up With DevOps

You're better than that simple shared file system; update your DevOps practice with a binary repository manager to eliminate clutter and points of failure.

Raghav Baldania user avatar by
Raghav Baldania
·
Apr. 25, 17 · Opinion
Like (10)
Save
Tweet
Share
11.15K Views

Join the DZone community and get the full member experience.

Join For Free

Using Repository Managers [Refcard]

Intended to help you design and configure a binary repository, optimize it for various workflows, and fit it smoothly into your software development lifecycle.

DOWNLOAD

Storing your artifacts, builds, libraries and other binaries in a dumb flat file-system is so 2010. A shared file system just doesn’t cut it anymore; you need to be smarter than that. To beat the pace of modern day business, your organization must be DevOps savvy. Your mantra must be, “Eat, live and breathe DevOps.” Your key to keeping up with DevOps is a Binary Repository Manager, and here are five reasons why.

1. A Binary Repository Manager Caters to a Wide Audience

A binary repository manager is much more than just a dependency manager, so your audience scope is broader than just developers. The diagram below shows JFrog’s Binary Repository Manager, Artifactory, interfacing with a wide range of tools and products for dependency management, build, CI, provisioning, security vulnerability analysis, distribution, and more.

Image title

Scope out your target audience, use cases and workflows very carefully and thoroughly. This will help you design your repositories and permission model so that each member of your audience gets what they need without impinging on someone else’s binaries.


Image title


2. Eliminate Remote Dependencies as Single-Points-of-Failure

Image title

Most of your dev teams will have some sort of dependency on a central repository such as Maven Central, the NPM public Registry, Nuget Gallery, Docker Hub, etc. However, the reliability of these repositories may not always be what you expect. You would have no control over things like downtime, maintenance, version lifetime, or deprecations; yet, being able to manage and control these binaries that you bring from central repositories is critical.

A binary repository manager solves the reliability issue by caching remote binaries locally. Not only does this eliminate the dependency on central repositories giving you total control over your binaries, but it also removes network latency since all binaries are now accessed locally on your internal network.

3. Fully Reproducible Builds in Your CI Pipeline

Fully reproducible builds in your CI pipeline

An average enterprise will have more than one continuous integration server, and then have multiple master/slave models over these integration servers, so it’s critical that your binary repository manager can work with all the CI servers in your organization (Jenkins, Hudson, TeamCity, Bamboo, Travis, TFS, etc.). As per the best practices, it is always recommended to promote your builds as they proceed further towards the different phases (dev, QA, staging, pre-prod, prod, etc.) of build lifecycle instead of reproducing the same build over and over again. Standardize the build promotion process and always avoid regenerating the same builds. Whether you’re running a simple Maven build or building a complex Docker image, the Bill of Materials (BoM) describing all the information related to the build is critical. This exhaustive build information including build output, dependencies, system properties, environment variables, and much more, is stored in your binary repository manager and is a single source of truth that lets you fully reproduce a build at any time later on.

4. Artifact Clutter Builds Up If Not Cleaned Up

Image title

Generating hundreds of thousands of artifacts is easy; managing them all is certainly not. We all know we should be implementing a cleanup regimen but tend to forget how important it is as we get busier with other high priority tasks. Deprecated artifacts and buggy snapshots accumulate, cluttering up your repositories and eating up your storage. A binary repository manager will clean up your repositories, both with automated background tasks that look for orphaned artifacts, as well as with cron-based or event triggered cleanup jobs for more specific use cases. Checksum-based storage with Artifactory already helps with storage optimization, as you are not occupying any redundant storage space for something that is not required, but cleanup is recommended. Some even have dedicated query languages that let you define any complex set of binaries using simple queries so you can clean up even the most obscure binaries that are cluttering up your system.

5. Automate While You “REST”

Automation is the key to any successful organization. You can’t grow your business and scale your operations unless you have a binary repository manager with a powerful REST API that will fully support the automation you need. Whether you’re managing dependencies, deploying builds, creating users, managing access control, replicating artifacts to your global instances, or managing disaster recovery instance, the right binary repository manager can automate and integrate all aspects of artifact management within your organization.

The DevOps revolution is here, and you now have several good reasons to look into adopting a binary repository manager for your organization. If you need more reasons, you can read about them from additional sources, but it’s clear that to join the revolution, your approach to binaries can never be the same again.

Using Repository Managers [Refcard]

Intended to help you design and configure a binary repository, optimize it for various workflows, and fit it smoothly into your software development lifecycle.

DOWNLOAD
Binary repository manager Repository (version control) Continuous Integration/Deployment DevOps

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Visual Network Mapping Your K8s Clusters To Assess Performance
  • A Real-Time Supply Chain Control Tower Powered by Kafka
  • How Do the Docker Client and Docker Servers Work?
  • Unleashing the Power of JavaScript Modules: A Beginner’s Guide

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
  • +1 (919) 678-0300

Let's be friends: