My notes from the DevOps Handbook

by Gene Kim, Jez Humble, Patrick Debois, John Willis

Continuous delivery vs deployment

Every organization should create their own variation based on what they need. The key thing is not the form but the outcome: low risk, push button, on demand.

Continuous delivery

When all developers are working in small batches on trunk, or short lived feature branches that get merged regularly, and when trunk is always in releasable state, release on demand during business hours. Developers get fast feedback on performance, security, usability issues and they are fixed immediately to keep trunk always deployable.

Continuous deployment

In addition to the above, good builds being deployed to production on a regular basis, automatically or via self service.

Continuous delivery is the prerequisite for continuous deployment, just as continuous integration is a prerequisite for continuous delivery.

Continuous deployment is mostly applicable for web services. Continuous delivery is mostly suited for embedded systems, COTS products and mobile apps.