Dev Leaders Compare Continuous Delivery vs. Continuous Deployment vs. Continuous Integration
by Mark Snodgrass
The following article was published in Stackify July 25th, 2017
“The overall objectives of the Agile software development
approach are to accelerate time to market and improve code quality…”
The Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment (CD) process is a framework
that enables this approach. The biggest difference between these stages (CI/CDs) is whom it benefits most at each stage.
CI benefits developers most because it allows for code produced to be automatically tested and
continuously “integrated” with other developers code, and with the existing codebase. The developer
benefits from receiving continuous and immediate feedback regarding code and integration errors. As s/he fixes
these errors, automated testing tools in this stage will report if the errors were successfully fixed and
when the code is accepted. This continuous feedback loop dramatically increases a developer’s productivity.
Continuous Delivery benefits business users because as soon as code is successfully accepted in the CI stage and a logical
function can be tested, it is released to users. They verify that the features meet their expectations and provide
feedback to developers who then address the feedback in this stage. This feedback loop between users and developers is
continuous and seamless. Whereas in traditional waterfall method, users could wait weeks/months to see the features for
the first time, this approach can dramatically reduce the time to just hours/days.
Continuous Deployment seamlessly pushes code that has been successfully accepted in the CI/CD cycle into the production
environment. This stage benefits all key stakeholders, from application investors who fund the development to
external consumers and internal end-users as new features/application is available for immediate (external) commercial
sale or internal use.
Developers can best utilize the CI/CD/CD process by leveraging on Open Source tooling (e.g., Jenkins, GIT, and
Bamboo from Atalassian), or AWS services (e.g., Code Deploy) that automates various integration,
deployment, and release management tasks.