Continuous deployment

Source: Wikipedia, the free encyclopedia.

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.[4] As such, continuous deployment can be viewed as a more complete form of automation than continuous delivery.[5]

Motivation

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]

Example

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.[7][8][9]

See also

References

  1. S2CID 11638909
    .
  2. .
  3. .
  4. .
  5. ^ "Continuous Deployment: An Essential Guide". IBM. 2019-10-02. Retrieved 2022-11-28. Continuous deployment is the natural outcome of continuous delivery done well. Eventually, the manual approval delivers little or no value and is merely slowly things down. At that point, it is done away with and continuous delivery becomes continuous deployment.
  6. ^ Rossel, Sander (2017). Continuous Integration, Delivery, and Deployment.
  7. ISSN 1742-6596
    .
  8. ^ Serlet, Bertrand (2019). "Data-centric Software Manifesto". Fungible. Archived from the original on 2019-10-14. Retrieved 2019-10-14.
  9. ^ Butler, Brandon (2016-11-09). "What you should know about microservices". Computerworld. Retrieved 2019-10-14.