Continuous Integration, Continuous Deployment and Continuous Delivery

Continuous Integration (CI) is a development practice that requires developers to integrate code early and often. Code is integrated into a shared repository several times a day. Each check-in is then verified by an automated build, thus providing fast and automated feedback on the correctness of your application every time there is a change of code.

By integrating regularly, you can detect errors quickly, and locate them more easily. According to Martin Fowler, "Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” 

You can quickly read about the most important concepts of continous intergration, including its benefits, related practices, how to do it, responsibilities of a team that follows it etc. @ https://www.thoughtworks.com/continuous-integration. 

 

Continuous Deployment refers to releasing software into production that passes the automated tests and is closely related to Continuous Integration. You can consider continous deployment as adding deployment as the the final stage of Continous Integration

Continous Deployment means that software is always deployable. Continous Deployment does not however imply production release, but Continous Delivery does. Continous Deployment can deploy code to any environment, like UAT.

You can read more @ https://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous...

 

Continous Delivery (CD) involves continous flow of features into production. Continous Delivery requires fast and automated feedback on the production readiness of your application every time there is a change to code, infrastructure or configuration. This means that a new build will be automatically created every time there is any change in the continous delivery environment including code, infrastructure or configuration. 

A proper implementation of Continous Delivery system requires a comprehensive configuration management and excellent automated testing at multiple levels. You should automate almost everything, including build, deploy, test, release, using technologies such as puppet, chef, jenkins, bamboo etc. You also need to keep everything you need to build, deploy, test and release in version control, to avoid friction between various components, as the versions for most of these are inter-related in each deployment. 

Continous Delivery is often backed up by DevOps, and unlike traditional programming, everyone is responsible for delivery Dev team, DBA, QA and Ops. 

Continuous Delivery can be considered as the natural extension of Continuous Integration.

You can read more @ https://www.thoughtworks.com/continuous-delivery. 

Learn Serverless from Serverless Programming Cookbook

Contact

Please first use the contact form or facebook page messaging to connect.

Offline Contact
We currently connect locally for discussions and sessions at Bangalore, India. Please follow us on our facebook page for details.
WhatsApp (Primary): (+91) 7411174113
Phone (Escalations): (+91) 7411174114

Business newsletter

Complete the form below, and we'll send you an e-mail every now and again with all the latest news.

About

Cloudericks.com is my blog to share notes and learning materials on Cloud and Data Analytics. My current focus is on Amazon Web Services.

I like to write. I try to document what I learn and share with others. I believe that knowledge is useless unless you share it; the more you share, the more you learn.

Recent comments

Photo Stream