Continuous deployment (CD) is a software engineering approach in which software functionalities are delivered frequently and through automated deployments.
[1][2][3] Continuous deployment contrasts with continuous delivery (also abbreviated CD), a similar approach in which software functionalities are also frequently delivered and deemed to be potentially capable of being deployed, but are actually not deployed.
[5] A major motivation for continuous deployment is that deploying software into the field more often makes it easier to find, catch, and fix bugs.
A bug is easier to fix when it comes from code deployed five minutes ago instead of five days ago.
[6] In an environment in which data-centric microservices provide the functionality, and where the microservices can have multiple instances, continuous deployment consists of instantiating the new version of a microservice and retiring the old version once it has drained all the requests in flight.