Continuous delivery
The terms CI and CD are too often conflated into CI/CD, causing the nuance between the two processes to be lost. Hopefully, by the end of this chapter, we will have clarified the two.
Up until this point, our attention has been primarily on CI, the process of building and testing the software components of the solution. If CI is there to ensure the quality of our software, CD ensures the consistency of the configuration of our infrastructure.
In the traditional data center world, workloads tended to be long-lived, and the management of the configuration was an eternal battle as manual intervention created an opportunity for configuration drift and made systems hard to maintain and troubleshoot.
Now, with the advent of software-defined infrastructure, the cloud, Docker, and Kubernetes, there is a big push toward automation. Through automation, we can now define infrastructure through declarative languages, and we can manage those configurations as assets...