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.
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 conﬂicts.
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, 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 diﬀerent 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:
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 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.
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 →
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 →
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 →