Published on SD Times
More organizations have matured from CI to CI/CD, but their paths differ as do their pipelines and results. Most enterprises are implementing a mix of open source, commercial and even home-grown tools, and they’re looking for answers.
One place to look is the Continuous Delivery Foundation (CDF) which is home to many of the fastest-growing CI/CD open-source projects. The CDF fosters vendor-neutral collaboration among developers, end users and vendors to further best practices and industry specifications. DeployHub CEO and co-founder Tracy Ragan, who serves as the CDF general membership board representative, provides additional insight in this Q&A.
SD Times: Why was the CD Foundation formed?
Ragan: We are on the top of a swell that is turning into a massive tsunami when it comes to software development. According to “The Future of Employment: How Susceptible Are Jobs to Computerisation?” by Carl Benedikt Frey and Michael A Osborne, 47% of U.S. jobs may be replaced by AI. If this is true, we have lots of software to develop over the course of the next 20 years and our current CI/CD process will not be able to sustain this massive amount of software development and management. For most organizations, CI/CD is a workflow orchestration tool that calls scripts. In most cases, the scripts do the heavy lifting of the movement of code through the process. In order to build the software of tomorrow, CI/CD must do better, be more automated and include more than just “check-in and build.” And we are moving from monolithic software to microservices. This directly impacts the CI/CD process. The time is now for the CI/CD community to have a conversation about what CI/CD looks like today (terms and definitions) and where it is headed tomorrow (Kubernetes pipelines, AI/MLOps).
What does the organization hope to accomplish?
We have 9 strategic goals:
- Drive adoption
- Cultivate growth of open-source projects
- Foster tool interoperability
- 4Champion diversity and inclusion
- Foster community relationships
- Grow the member base
- Create value for all members
- Promote security as a first-class CI/CD citizen
- Expand into emerging tech areas.
In what ways will the CD Foundation help organizations improve the efficiencies and effectiveness of their CI/CD practices?
The CD Foundation provides a platform and thought leadership community for driving CI/CD to the next level. The CD Foundation’s job is not to produce a CI/CD “stack” or best practices guidelines. CD is too broad to have a single solution for all. The CD Foundation’s job is to bring members together to achieve our 9 strategic goals and provide a vendor-neutral platform for open-source tools that fit into the CI/CD landscape.
What impact might the initial and future projects have on CI/CD tools and tool chains going forward?
While it’s hard to predict the impact today, we are beginning to see more productive discussions between projects. Jenkins and Spinnaker are working to define how they interoperate. There is community discussion around Tekton and JenkinsX. Most organizations will have a variety of different pipeline orchestration tools (Jenkins, Tekton, CircleCI, Bamboo, Spinnaker, etc). And most companies will allow individual teams to decide on what those orchestration tools will call. Not all teams will look the same. A mix of open source and commercial will continue to be the way new tools are adopted and implemented. What the CD Foundation can offer is a platform for managing the open-source tools and foster discussion between the teams. Our third most important goal is to “foster tool interoperability.” If we are successful, we will have achieved the ability for one orchestration tool to call another. Developers might use Jenkins while Production Control is using Spinnaker.
What does the future of CI/CD look like?
In the future, CI/CD will grow in importance as developers are pushed to create more software. We now talk about moving software through the lifecycle faster, tomorrow’s discussion will be around sustaining the number of new applications hitting the market. So fast is important and CI/CD is a key player in ‘faster’ and ‘more’.
From a lower level, if we look at microservices, our CI/CD process changes. First off, version control becomes less critical. We will not have source code that is several thousands of lines of code long that requires branching and merging to allow multiple developers to work on it at the same time. We will instead have code that is hundreds of lines long at max. When you think of microservices, you must think functions.
Second, compiling code may not be required. While Go is compiled, Python is not. And even if it is compiled, it will be quick – no more long builds and no linking.
Third, microservices are “loosely coupled.” This means no linking at build time. APIs at runtime replace a build “link” step. The concept of an “application” built all at once goes away.
Our CI/CD pipelines will be managing thousands of individual microservice workflows. Today we generally have one workflow per application, tomorrow we will have one workflow per microservice.
Deployments will always be incremental. Deploying a full application will no longer happen. A new microservice will be updated, creating a new version of the “logical” application. An application is just a collection of services.
And finally, configuration management will be needed to map a collection of microservice versions back to a logical view of an application version and to track which applications are using which service.
So yes, lots of changes are coming our way, and the CD Foundation is here just in time to help lead the discussion, manage new open-source projects and inspire tool interoperability.