Pattern: Continuous Delivery

Keeping a short build/test/deliver cycle means code is always ready for production and features can be immediately released to customers—and their feedback quickly returned to developers

Continuous Delivery

Teams are doing Continuous Integration, so each change is automatically built and tested separately in a very short time. Developers commit changes at least once a day.Teams are building distributed systems using microservices architecture.

In This Context

A full quality test of a distributed system can be done only when the entire system is fully deployed and used. Teams try to reduce complexity and increase quality through infrequent and coordinated multiple-team deployments to the test environment,and then handing off to the operations team for more extensive testing and, finally, delivery.Large-scale deployments at long intervals are usually difficult and time consuming,so teams tend to minimize their number. This leads to painful integrations between services, reduced independence of teams, slower time to market, and—eventually—lower quality and higher costs for building the product or service.


Deliver every change to a production-like environment where all the services are delivered continuously and independently.Reduce the pain by using full automation coupled with increased speed and frequency of releases.- No manual handovers on the way to deployment.


The business can release to customers anytime.