News and Notes from the Makers of Nexus | Sonatype Blog

How-to Roll Out Nexus in a Large Organization

Written by Derek Weeks | August 22, 2018

*Note: Join us live and online for the 2019 Nexus User Conference on June 12. Registration is free.

With over 80,000 employees, 150 million customers a year, and 800 aircraft with service to 57 countries, there is no denying the size and reach of Delta Air Lines. And, with a 94 year history, you can imagine, they have lots of legacy technology.

This creates challenges, of course, but times are changing, and Chris Bolton, an application developer, and Jasmine James, a development tools engineer, teamed up at the 2018 Nexus Users’ Conference to discuss how they rolled out Nexus at Delta.

Delta was using a combination of software to manage its repositories. For over 20 years, IBM Rational ClearCase served them well, but as the industry began to change, challenges arose that it didn’t address, The number one obstacle - entry-level employees had never heard of it, let alone know how to use it. Colleges weren’t introducing students to “legacy” technology, but teaching them about the new wave of tools. Delta also used a homegrown binary repository, RET Depot, that was over 20 years old, and, since it was internal, was also unfamiliar to new hires at all levels.

With a new CIO at Delta, there was a recognition that they needed to modernize their tools to not only improve their processes, but to address a secondary problem - recruiting. They also needed to centralize the processes because different teams were handling the same processes in different ways. They chose Sonatype, GitLab, Jenkins, and SonarQube to do this.

Of course, since this is a Nexus users’ conference, Chris and Jasmine shared best practices and what they learned when rolling out Nexus, as part of their new stack, to the entire company:

  • Properly prepare for automation. They realized before they could automate installation and configuration, it was important to have all the necessary Groovy scripts set up. They needed to do this first to avoid ending up with snowflakes between non-production and production systems.
  • Then, automate everything. Especially installation. Delta can now take their installation and upgrade it in non-production and production with confidence, and install Nexus on another server with all of the same configuration. No snowflakes!
  • Setup retention policies early on. They saw a huge amount of data gathering up; volumes more than they needed. They started out with 30 days for unused snapshots. They’ve now decreased that to just 7 days, which solves their data problem while still allowing their dev team to be successful. After 7 days, it is a release candidate or not needed any more.
  • Separate Blob storage per repository type. This gives the ability to view specific consumption of disk space and provides dynamic capability for storage. This allows you to add storage to a specific Blob, rather than the entire disk, where it may not be needed.
  • Use Sonatype. Delta set up weekly calls with the Sonatype team to guide them through the roll-out. They shared how helpful it was to have that close relationship when various questions arose.
  • Use a tiered approach to onboarding teams. By using pilots and rolling Nexus out to a few teams at a time, Delta was able test their onboarding process, and improve it each time, before bringing on the entire enterprise. It also helped create evangelists for the process, who could then help others, as team members increasingly saw the benefits of the new process. This approach also enabled them to work closely with individuals teams, and in doing so, they discovered that several teams were already using their own Nexus installs. They were able to migrate them to the enterprise installation, which would have been overlooked, if they rolled everything out at once.

Today, with Nexus, Delta has 23 application teams, 447 connections, and 600 GB of data. They have repositories in Maven, npm, Docker, Nuget, and Sonatype’s Raw.

So, what does the future hold? According to Chris and Jasmine, a lot:

  • High availability of Nexus
  • Artifact labeling and staging. Users want to know where their artifact is.
  • Yum hosted repositories
  • Optimization  and staying on the bleeding edge of what Sonatype offers, purging artifacts, excellent response time, and staying on top of issues users see

The 2018 Nexus Users’ Conference was held in June. You can watch Chris and Jasmine’s full talk here and all of the sessions here.