CI/CD is a critical capability. It's what makes software delivery work quickly and accurately. You can't complete a digital transformation without it, and it's a key component of value stream management. So, what makes CI/CD work?
Although the process improved, it still left a lot of room for additional cost and administration to be factored out. As a result, the division pipelines were merged into a single, centralized ecosystem, streamlining their Continuous Integration and Continuous Delivery efforts and letting development teams focus on delivering products instead of supporting pipelines.
DevOps World 2022 had a few sessions that showed how useful the right platform can be. Let's look at a few of these talks and discuss how they demonstrate three critical aspects of CI/CD platforms: scalability, cross-platform support, and enterprise orchestration.
Consolidating Pipelines for Better Efficiency
Let's start with Journey from 100's of Pipelines to a Single Pipeline Ecosystem, a talk that illustrates how the right platform can support enterprise CI/CD. Ali Ravji, technology leader, and Prashant Parekh, software engineering director, explained how Capital One was able to collapse hundreds of different pipelines into a single ecosystem to support their bank's software delivery efforts.
Capital One was the first bank to exit on-premises data centers and move completely to the cloud. The bank was an early adopter of Agile and organized themselves into product-centric teams. Each team was responsible for managing their own code, including builds, packaging, and delivery. So, as the bank moved toward DevOps and CI/CD, it created literally hundreds of pipelines.
Capital One saw that this situation led to considerable overlap and duplicated effort, so they began merging the pipelines by technology divisions.
This was an improvement, but the process still left more opportunities to factor out extra layers of cost and administration on the table. So, they folded the division pipelines into a single, centralized ecosystem. This streamlined their CI/CD efforts and took the burden of supporting pipeline away from development teams, so they could focus on delivering product.
The platform underlying Capital One’s consolidated ecosystem is Jenkins. It manages code through continuous integration, delivery, and deployment. It schedules jobs on various cloud infrastructure and provides them with life cycle information. This is only possible because the Jenkins platform scales from a single server to multiple servers and controllers that can manage hundreds of individual agents.
In their talk, Ali and Prashant explain how their centralized system works, how it abstracts most of the complexity away from developers, and how the platform allows them to standardize their governance and simplify their audits.
iOS Build Agents
Mobile clients are important. Retail clients have been using them more and more often for over a decade, but at the same time they've made considerable inroads into the enterprise, too. Unfortunately, building and deploying apps for iOS, one of the more popular platforms, requires specialized tooling and the macOS operating system.
But this doesn't mean you have to create a new silo for a single operating system. The right platform, like Jenkins, can support cross-platform agents, even on macOS. In Scale Out Your iOS Builds With Jenkins on Amazon EC2 Mac Instances, Sudhir Reddy Maddulapally, a senior partner solutions architect at AWS, shows us how to connect AWS EC2 instances to an enterprise Jenkins platform to build iOS code.
Reddy shows us how easy it is to connect an EC2 Mac instance to a Jenkins controller and issue builds. He then goes a step further and shows how you can scale up the number of instances depending on how many simultaneous builds you need.
Jenkins users take these cross-platform capabilities for granted, but they allow us to build a centralized enterprise pipeline like Capital One's and run all our work on it, at scale, without having to build parallel systems for different operating systems and architectures.
End-to-End Delivery
So far, we've looked at how important it is for a platform to scale to the enterprise level and support all the systems you need. Now, let's discuss how well that platform serves your entire delivery stack.
In Automating Our Software Release Process Internally at CloudBees, we saw how CloudBees uses its release orchestration platform to drive software integration, build, release, and deliver.
Drew Piland, senior product marketing manager; Urvashi Singh, lead architect; and Logan Donley, technical evangelist, demonstrated CloudBees Release Orchestration (CDRO) for the DevOps Worlds 2022 viewers.
This talk shows how choosing the right platform can not only make software delivery run faster and smoother, but also how it can provide you with the visibility you need to improve processes, comply with important regulations, and isolate problems when they inevitably occur.
CloudBees releases CDRO in a seven-stage release pipeline that shepherds the product all the way from build through delivery to their clients. This pipeline provides them with visibility into all the events that occur in each stage by surfacing the key results and reports, as well as metrics each collects as it executes them. At the same time, CDRO integrates with ticketing systems, environments, version control, and Jenkins to make all the systems work together.
Seeing how the product's creators map out a CDRO pipeline is very informative:
Build—builds each component
Dev test—executes component tests
Regression tests—executes regressions against back end and other integrations
Deploy—deploys code
Build docs—build release and API documentation
Release—sign binaries and push code to registries
Post-release—create release branch and set Git tags
How does CDRO differ from Jenkins and other pipeline automation tools? This talk made the difference very clear and showed how choosing the right platform helps you deliver better code at a faster cadence.
Let's take a closer look at CDRO's test steps.
Each row inside the steps is a complete pipeline. CDRO runs each of these pipelines asynchronously. The complete test suite for CDRO takes 90 hours to complete, but with parallel pipelines, a successful test-run finishes in three hours. CDRO makes it possible to run them independently while collecting information about each one.
As you can see from this screen, CDRO integrates release pipelines across the enterprise, with an extensive set of plugins for ticketing, code analysis, cloud infrastructure, and other important systems. So, instead of writing custom code to transfer data between systems, the platform has native capabilities built in.
Seeing it in action, used by experts, makes a compelling case for CDRO and how much of a difference the right platform can make in your success.
The Right Platform Makes the Difference
These three talks made it clear that choosing the right platform makes your software delivery process work faster, better, and more reliably. Instead of waiting for the next build to run, populating your ticketing system with the last build results or re-running test environments to save on cloud costs, your developers should focus on what makes your product special.
Not that you’ve seen that an effective platform solves these problems and more, contact CloudBees and see how our CI/CD platform can help.
And don’t forget, DevOps Worlds 2022 has more to offer, with talks about team-building, CI/CD, compliance, governance, and more. You can still catch the talks here.