Continuous Integration VS Continuous Delivery VS Continuous Deployment

These are obviously stolen from Martin Fowler’s ..however, being a person involved in this subject every day, hear this misunderstanding every day too.. so, an attempt to clarify

CI – Continuous Integration

Screen Shot 2015-06-15 at 9.07.55 PM

  • Small batches committed to version control repo
  • Single source of truth maintained
  • Automated build picks up every single commit
  • Every build is self tested with unit testing
  • Every build is verified for coding standards

Most critical cultural aspect – this stays green always, team is motivated to keep this green rather than checking in bad code on top of broken code base.

CD – Continuous Delivery

Next level of evolution.

cropped-cd-flow-wip.png

  • Reduced Deployment risk – small batch of changes deployed thru the environments, problems identified and fixed
  • Faster, Automated feedback – as code travers thru different environments, different automated testing techniques applied and feedback helps building confidence on the code change
  • Production readiness – confirms that you are able to deploy the code in many production like environments and verified code is ready to be pushed to production any moment, but you may prefer NOT to deploy every single change to production

Most critical cultural aspect – your team commits to keep the software production ready over working on new features

CD – Continuous Deployment

Almost similar to Continuous Delivery BUT every single change is deployed to production and verified successfully.

On a given day, production gets several value added incremental changes. Possibly the highest level of maturity, however, it needs Continuous Delivery in practice and that intern needs Continuous Integration in practice.

Advertisements

2 thoughts on “Continuous Integration VS Continuous Delivery VS Continuous Deployment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s