Shipping code safely relies on a number of delivery practices, and most software developers have experience with continuous integration/continuous delivery (CI/CD) regardless of their application architecture or target deployment platform/infrastructure. However, with the increasing adoption of cloud native technologies and approaches, CI/CD is evolving to include progressive delivery and continuous deployment, which automate deployment and release and contribute to giving developers faster feedback loops and safer deployments.
CI/CD is a familiar pattern for getting changes to features, configuration, bug fixes, and so on, into production safely. If these principles are already well-understood, progressive delivery and continuous deployment will be logical extensions to the delivery and deployment landscape.
Continuous integration/continuous delivery (CI/CD) form a combined practice of integrating and delivering code continuously into a production environment. CI/CD is a well-known practice in developer circles.
Continuous integration (CI) is an automation process and development practice that lets teams of developers introduce code changes to an application, run test suites for quality assurance, and build software artifacts on a continuous basis.
Continuous delivery (CD) is a process that introduces changes, from artifacts and version updates to configuration changes, into a production environment as safely as possible. When continuous delivery changes are made, these changes rely on a human decision.