//

Dev Leaders Compare Continuous Delivery vs. Continuous Deployment vs. Continuous Integration

Mark Snodgrassby Mark Snodgrass

Stackify   

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.

Stackify  Hararei Blog