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

Unblurring the Lines: Continuous Integration vs. Continuous Delivery

Oct 15, 2020 by Anthony Bibbs

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:

  • Lack of scalability: Cannot handle the deployment of dozens or hundreds of microservices to their end target(s).
  • No repeatability: Each teams uses their own hand-scripted path to production, with no ability to share or enforce best practices.
  • Difficult maintainability: Significant, costly ongoing efforts to maintain and update custom-built deployment tooling.

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:

  • A unified platform that integrates Dev, Sec, and Ops tools and teams, without custom code, to automate the full deployment lifecycle.
  • The ability to easily scale to thousands of microservices deploying to multiple targets.
  • Codifed, repeatable pipelines shareable across the entire organization.
  • Built-in progressive rollout strategies such as blue/green and canaries to enable safe deployments and 1-click rollbacks.

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.

Recently Published Posts

A Faster Way to Evaluate Self-Hosted Continuous Deployment from Armory

Sep 30, 2022

Introducing Quick Spin One of the most common challenges that organizations face when implementing a continuous deployment strategy is the time and focus that it takes to set up the tools and processes. But a secure, flexible, resilient and scalable solution is available right now. Want to see if it’s the right tool for your […]

Read more

3 Common Spinnaker Challenges (and Easy Ways to Solve Them)

Sep 27, 2022

Spinnaker is the most powerful continuous delivery tool on the market.  DevOps engineers and developers recognize this power and are looking to use Spinnaker as a foundational tool in their Continuous Integration and Continuous Delivery (CI/CD) process for hybrid and multi-cloud deployments. Such a powerful, expansive open source tool needs expertise within your organization to […]

Read more

Streamline Advanced Kubernetes Deployments from GitHub Actions with New Armory Service

Sep 23, 2022

Today, Armory is excited to announce the availability of the GitHub Action for Armory Continuous Deployment-as-a-Service. GitHub is where developers shape the future of software. After a developer writes and tests their code in GitHub, it must be deployed. Armory’s GitHub Action for Continuous Deployment-as-a-Service extends the best-in-class deployment capabilities to Kubernetes. CD-as-a-Service enables declarative […]

Read more