This article is a collaboration between Arete Advisors and Hararei, Inc. It was published by Stackify on July 25. See original publication: https://stackify.com/continuous-delivery-vs-continuous-deployment-vs-continuous-integration/#Snodgrass
DevOps leaders were recently interviewed in a panel by Stackify technology reporter, Angela Stringfellow. One of our Managing Directors and co-founders of Arete Advisors and Hararei, Inc. participated in this forum. The friendly debate was about the biggest differences between Continuous Delivery, Continuous Deployment, and Continuous Integration.
Arete Advisors LLC and Hararei, Inc. collaborates to deliver DevOps, organization change management, people, process, next-gen cloud and cybersecurity technology solutions to private sector clients, federal prime contractors and public agencies. Our joint belief is 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 part of a DevOps framework that enables this approach. The biggest difference between these stages (CI/CDs) is the stakeholders 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 application owners and 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. Application owners and users can verify that the features meet their expectations, provide feedback to developers who then address the feedback in this stage.This feedback loop between owners/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.
How can software development leaders and development teams benefit best from adopting the CI/CDs and DevOps concepts? To get the most out of the CI/CD/CD process, evaluate and leverage Open Source tooling (e.g. Jenkins, GIT, and Bamboo from Atalassian), or AWS services (e.g. Code Deploy). These tools are enormously powerful in reducing integration errors, improving developers' productivity, increasing development throughput and compressing delivery time frames. These tools automate various integration, deployment and release management tasks. To learn more about these tools and services, email email@example.com or firstname.lastname@example.org