Rolling Out Nexus in a Large Organization
What does it take to roll out Nexus in a large organization? You need to prepare for automation, strategize for team onboarding, and more.
Join the DZone community and get the full member experience.Join For 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!
- Set up 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 anymore.
- Separate Blob storage per repository type. This gives the ability to view the 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
All Day DevOps 2018
The free, online conference goes live on October 17th, offering 100 different practitioner-led sessions, each one 30-minutes long. With 5 separate tracks: CI/CD, Cloud-Native Infrastructure, DevSecOps, Cultural Transformations, & Site Reliability Engineering, and 100 speakers, there's sure to be something for everyone.
And speaking of everyone, if you're part of an organization with 20+ people that want to attend the conference (again, it's free!) then you should consider joining the Club 20 program so that you might get your company logo added to the ADDO site. Check out some of the Club 20 participants here and consider joining them.
Hope to see you online at the show!
Published at DZone with permission of Derek Weeks, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.