Unblurring the Lines: Continuous Integration vs. Continuous Delivery hero graphic

Unblurring the Lines: Continuous Integration vs. Continuous Delivery

Oct 15, 2020 by Armory

Continuous Integration (“CI”) and Continuous Delivery (“CD”) are two terms that are used in the context of modern DevOps practices, so much so that they are often combined as “CI/CD.”

However, we’ve found that there is a lot of confusion about what these terms actually mean, why they are distinct from each other, and how best to implement them.

What is Continuous Integration?

CI is the practice of automating the integration of code changes from multiple contributors into a single deployable unit. It emphasizes frequent code check-ins and significant automation in creating and testing the new build.

Why is Continuous Integration Important?
CI makes it possible for multiple devs to work together on the same project by keeping the main code branch up-to-date and minimizing code conflicts.

What is Continuous Delivery?

CD is the practice of combining artifact creation, infrastructure provisioning, and app deployment into a single, automated unit of work. It emphasizes frequent app deployments, and extends robust automation and testing from CI all the way through to the deployment of code into production environments.

Why is Continuous Delivery Important?
CD ensures that every code change is ready to be deployed to production, adding significant safety and speed to DevOps organizations and shortening the time to get new features into the hands of users.

CI and CD Are Processes Supported by Specialized (and Distinct) Tooling

CI and CD are processes, enabled by cultural norms and specialized tools. CI has become commonplace over the last decade, supported by popular tools such as Jenkins, GitLab, CircleCI, and others. Most companies that use centralized repositories are already doing CI. CD is newer, and requires CI, so most associate the two together as “CI/CD.” But CD is a fundamentally different process, extending far past the Git repo and requiring collaboration between Dev, Ops, Security & Compliance, SREs, and others.

As a result, attempts to extend CI tools into the CD process tend to break down at scale. Because CI tools are not purpose-built for handling infrastructure, and because they are designed for Dev-to-Dev collaboration rather than Dev-Ops-Security-SRE collaboration, extending them into CD involves significant manual scripting and spaghetti code. Common issues that arise include:

Only purpose-built tools have the depth of functionality and breadth of integration across the software development lifecycle to achieve CD at scale. Leading CD tools are capable of providing:

Spinnaker Is the Purpose-Built CD Tool of Choice for Leading Enterprises

Netflix, Google, Armory, and an open source community made up of industry-leading enterprises built Spinnaker on best-practices learned by delivering software at scale. Spinnaker provides an empowering developer-centric approach to software delivery, and integrates all the tools, approvals, and infrastructure needed to automate the enterprise software delivery lifecycle. An open source platform, Spinnaker is vendor-neutral, cloud-native, and target agnostic, so teams can instantly deploy their code at scale to Kubernetes and any and all cloud platforms using a single, automated, golden path to production.

Armory Scales Spinnaker for the Enterprise

Armory provides an enterprise-grade distribution of Spinnaker that enhances the open source platform with DevSecOps collaboration, deep integrations, GitOps workflows, and more, as well as expert support. With Armory, new developers can safely deploy from code to cloud on their frst day, while teams can deploy and deliver value all day long.

Interested in learning more? Contact us here.

Share this post:

Recently Published Posts

How to Become a Site Reliability Engineer (SRE)

Jun 6, 2023

A site reliability engineer (SRE) bridges the gap between IT operations and software development. They understand coding and the overall task of keeping the system operating.  The SRE role originated to give software developers input into how teams deploy and maintain software and to improve it to increase reliability and performance. Before SREs, the software […]

Read more

Continuous Deployment KPIs

May 31, 2023

Key SDLC Performance Metrics for Engineering Leaders Engineering leaders must have an effective system in place to measure their team’s performance and ensure that they are meeting their goals. One way to do this is by monitoring Continuous Deployment Key Performance Indicators (KPIs).  CD and Automated Tests If you’re not aware, Continuous Deployment, or CD, […]

Read more

What Are the Pros and Cons of Rolling Deployments?

May 26, 2023

Rolling deployments use a software release strategy that delivers new versions of an application in phases to minimize downtime. Anyone who has lived through a failed update knows how painful it can be. If a comprehensive update fails, there are hours of downtime while it is rolled back. Even if the deployment happens after hours, […]

Read more