What’s the Difference? Continuous Integration, Continuous Delivery and Continuous Deployment Explained
April 19, 2022

Jayne Groll
DevOps Institute

A healthy CI/CD pipeline ensures that your DevOps journey is headed toward success. Continuous integration, continuous delivery and continuous deployment each play an important role in the CI/CD pipeline, and it's important to differentiate between each.

Understanding the unique role of each CI/CD component will set you on a path toward better software and happier customers. DevOps Institute Ambassadors always have unique insights, so I asked several of them to explain how they would describe the difference between continuous integration, continuous delivery and continuous deployment.

Helen Beal, Chief Ambassador, DevOps Institute

"Once a team has its developers committing code at least once daily, a build is automated on every commit, and the unit, integration and user acceptance tests are run automatically (and problems are prioritized for remediation), they are practicing continuous integration (CI). Now they are in a position where they can practice continuous delivery because their software is always in a releasable state. This means they can release at any point in time, likely because it's deemed best for the customer. However, it requires manual intervention. Continuous deployment is when the changed code is pushed to live automatically when it passes the tests in CI."

Marc Hornbeek, CEO and Principal Consultant, Engineering DevOps Consulting

"Continuous integration systems ensure software changes are efficiently merged, built, tested and archived to produce release candidate artifacts. Continuous delivery processes verify release candidate artifacts, prepare them together with the required infrastructure or deployment, and validate that the software releases are ready for deployment. Continuous deployment processes ensure that software releases are deployed to production safely and validate the released software once deployed."

Parveen Arora, Founder and Director, VVnT SeQuor

"Continuous integration serves the purpose of automating our builds. It's the practice of merging code changes back into the main branch as quickly and as often as possible. In this step, all code is merged as developers complete code in order to run automated builds and tests.

However, in continuous delivery all code changes are automatically deployed to the testing environment from the build stage, which practically makes this process a direct extension of continuous integration. This movement to production is a manual step.

Now a variant of continuous delivery is continuous deployment, which is the process of moving software that has been built and tested successfully into production. Continuous deployment takes the entire process of continuous delivery a step further by releasing every change that passes through the production pipeline directly to our clients. If an automated test fails, then the change will not be sent, but if everything checks out in testing, the changes are deployed automatically."

Vishnu Vasudevan, Head of Product at Opsera

"If you look at continuous integration, it's all about moving the source of your code to the build state with static code analysis and then incorporating some sort of testing. Continuous delivery is all about moving the code into production. Continuous deployment is all about how agile the process is and how the team operates. For instance, are you able to deploy the code at will, on-demand, with a good, blue-green deployment strategy? Or do you use a shadow deployment or rolling deployment strategy?

The major difference between continuous deployment and continuous delivery is that continuous delivery is related to the frequent churn of new features into production for the customer, which is valued at the business level by understanding what customer value is being realized. Continuous deployment is more related to DevOps functionality with respect to the tools and automation strategy around CI/CD best practices, particularly for governance and compliance."

Tracy Ragan, CEO and Co-founder, DeployHub

"These terms seem to be interchangeable, but they are not. Let's start at the top. Continuous delivery (CD) is a software lifecycle process. A CD workflow defines and automates ALL of the steps required to move code, starting at the change request and ending in the user's hands. There are many steps in between. Continuous Integration manages the first step dealing with version control and binary creation (software build). Continuous deployment is called at multiple states of the lifecycle process. It can be called to deploy binaries to developers, testers or production end-users.

So, continuous integration addresses the build, continuous deployment manages the move of those binaries to whoever needs them, and continuous delivery orchestrates the entire process like a job scheduler. Continuous integration, continuous delivery and continuous deployment are used to automate the toil of moving software changes through the lifecycle as quickly and safely as possible. We did not mention continuous testing, but that is also part of the continuous delivery process. It is called once continuous deployment has delivered new binaries. It can be done in all states, performing different kinds of tests (unit, system, smoke, etc.)."

Ryan Sheldrake, Field CTO - EMEA, Lacework

"Continuous integration: The merge to a branch or master/main on every code commit to ensure a full ‘build' can be performed based on the delta change e.g., what was committed.

Continuous delivery: The continuation of the above to a ‘repository' that all release candidates and/or tags could, in theory, be deployed globally or to a subset of the target production estate or system.

Continuous deployment: The continual flow from developers/engineers into production (or subsections of the production estate, e.g. green/blue/canary) due to a high confidence in automated testing that no longer required a CAB/gate or ‘change slot' to go live."

Continuous integration, continuous deployment and continuous delivery each play an important role in the software delivery lifecycle. As Tracy Ragan noted, the terms may seem interchangeable but they are not.

To learn more about CI/CD, join DevOps Institute for SKILup Day: CI/CD on April 21, 2022. Register here to save your seat.

Jayne Groll is CEO of DevOps Institute
Share this

Industry News

May 25, 2022

JFrog introduced Project Pyrsia, an open-source software community initiative that utilizes blockchain technology to secure software packages (A.K.A Binaries) from vulnerabilities and malicious code.

May 25, 2022

Kasm Technologies, in partnership with Docker, has developed Kasm Workspaces as a Containerized Desktop Infrastructure platform for streaming remote workspaces directly to your web browser.

May 25, 2022

Cascadeo announced the integration of Amazon DevOps Guru with cascadeo.io, Cascadeo’s cloud monitoring and management platform that provides users with a single view of multi-cloud or hybrid infrastructure environments.

May 24, 2022

Oracle announced the availability of Java 18, the latest version of the programming language and development platform.

May 24, 2022

Docker announced the acquisition of Tilt, makers of a development environment as code for teams on Kubernetes.

May 24, 2022

F5 announced the release of F5 NGINX for Microsoft Azure, an Azure-native service offering developed in partnership with Microsoft, that helps customers deliver modern applications on Azure with just a few clicks.

May 24, 2022

Pegasystems announced a strategic partnership with Google Cloud that will help enable joint clients to accelerate their digital transformations with Pega’s low-code enterprise software on Google Cloud’s highly scalable cloud services.

May 23, 2022

Sauce Labs announced the release of contract testing with mocking on the Sauce Labs API Testing Platform.

May 23, 2022

Pure Storage announced a series of updates to its Portworx portfolio.

May 23, 2022

StackHawk has secured $20.7 million in capital.

May 19, 2022

Jellyfish announced the launch of Jellyfish Benchmarks, a way to add context around engineering metrics and performance by introducing a method for comparison.

May 19, 2022

Solo.io announced the addition and integration of Cilium networking into its Gloo Mesh platform, providing a complete application-networking solution for companies’ cloud-native digital transformation efforts.

May 19, 2022

Aqua Security announced multiple updates to Aqua Trivy, making it a unified scanner for cloud native security.

May 18, 2022

Red Hat unveiled updates across its portfolio of developer tools designed to help organizations build and deliver applications faster and more consistently across Kubernetes-based hybrid and multicloud environments.

May 18, 2022

Armory announced public early access to their new Continuous Deployment-as-a-Service product.