The difference between continuous delivery and continuous deployment

The difference between continuous delivery and continuous deployment
  • Continuous delivery does not mean that every change to the software must be deployed to the production environment as soon as possible. It means that any modification has been proven to be deployable at any time.
  • — Carl Caum (@ccaum) August 28, 2013

I wrote this post last Wednesday. It sparked lively discussion on Weibo, and by Thursday it had been forwarded 87 times and received 25 likes.

Apparently, this is a hot topic and many people are confused about the difference between continuous delivery and continuous deployment. It is worth explaining this concept in more words than the word limit of Weibo.

Continuous Delivery is a series of development practices to ensure that the code can be quickly and safely deployed to the product environment. It submits each change to a simulated product environment and uses strict automated testing to ensure that business applications and services meet expectations. Because a fully automated process is used to automatically submit each change to the test environment, when business development is completed, you have the confidence that you can safely deploy the application to the product environment with just one click of a button.

  • @ccaum @steveburnett I think a lot of people confuse "delivery" with "deployment".
  • — Magnus Hedemark (@Magnus919) August 29, 2013

Continuous deployment is a higher level of continuous delivery: all changes that pass automated testing are automatically deployed to the production environment. Most companies should aim for continuous deployment if there are no institutional constraints or other conditions.

There are many business scenarios where a business needs to wait for another feature to appear before it can go online, which makes continuous deployment impossible. Although using feature switching can solve many such situations, it is not always the case. Therefore, whether continuous deployment is suitable for your company is based on your business needs - not technical limitations.

Inspired by Yassal Sundman's blog post on Crisp's Blog.

Although continuous deployment is not suitable for all companies, continuous delivery should definitely be a goal that every company needs to pursue. Only when you can continuously deliver your code can you have the confidence to submit your changes to customers and serve customers within a few minutes by clicking the "go" button. Only then can you have the confidence to click this button immediately at any time - once the business allows.

<<:  Seven development tools for continuous integration and continuous delivery

>>:  Talk about the difference between continuous integration, continuous delivery, and continuous deployment

Recommend

my country has built the world's largest 4G network

On January 6, the Ministry of Science and Technol...

Front-end Science: What is an API Gateway? Why is it useful?

An API is often referred to as a front door for a...

This article explains OSPF clearly.

[[426836]] OSPF OSPF is an IGP and a Link-State p...

CloudCone: $17.99/year KVM-1GB/50GB/1TB/Los Angeles MC Data Center

CloudCone sent an email at the beginning of the m...

5G Guide: Everything you want to know is here

Wireless communication technology is updated almo...

Interview blitz: Is TCP reliable? Why?

Author | Lei Ge Source | Java interview questions...

...

Currently, CDN security is far from enough

Today, many businesses realize that DDoS defense ...

Why do Tencent and Alibaba use LoRa, and operators use NB-loT?

Industry insiders are familiar with LoRa technolo...