Is it Continuous Deployment or Continuous Delivery

The terms Continuous Deployment and Continuous Delivery are most of the time mistaken with each other. The abbreviation CD is sometime used for Continuous Deployment and sometimes used for Continuous Delivery! Hack I even use the terms in wrong situations were I forget to mention the right one, but there is a real difference between the two.

Continuous Deployment

As we want to keep things simple Continuous Deployment is nothing more then deploying every code change to production.

Continuous Delivery

To explain Continuous Delivery, more words are needed.  Let’s start by looking at the definition of DevOps from Donovan Brown:

“DevOps is the union of people, process, and products to enable Continuous Delivery of value to our end users”

Donovan Brown

When looking at the definition you will notice that Continuous Delivery is an enabler for the DevOps practices. Based on this we can say that Continuous Delivery is a set of tools, processes and techniques for rapid, reliable and continuous development and delivery of software a definition defined by “Martin Fowler”.

This really means that Continuous Delivery means more than just releasing software. This can also be extracted from the eight principles of Continuous Delivery:

  1. The process for releasing/deploying software must be repeatable and reliable.
  2. Automate everything!
  3. If something is difficult or painful, do it more often.
  4. Keep everything in source control.
  5. Done means “released.”
  6. Build quality in!
  7. Everybody has responsibility for the release process.
  8. Improve continuously

Conclusion

Combining the eight principles and the definition of Donovan Brown makes Continuous Delivery the real enabler for the DevOps practices were the term is not only a certain form of release management but much more.

2 Replies to “Is it Continuous Deployment or Continuous Delivery”

  1. Hey Maik. Nice post, thanks for sharing. It was great to clarify the difference between Continuous Deployment and Continuous Delivery.

    I have a slightly different point of view on the relationship between DevOps and Continuous Delivery. If you don’t mind, I’m going to share it with you below.

    From my perspective, DevOps is the enabler for continuous delivery. Something around the opposite about one enabling the other.

    For CD, we have some foundations around quality, responsibility, improvement, iterations, etc. And DevOps is the union of people, processes and tools that enable the continuous delivery of value to our end users.

    Does that make sense?

    Thanks for being open for discussions.
    Ricardo S M Serradas

    1. Hi Ricardo,

      Thank you for your comment. Think that is a really interesting discussion and that they are booth right in someway. From my opinion I don’t think we could have DevOps without Continuous Delivery.

      Maybe we should have a discussion on that in real life.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.