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

Where is the entrance to 5G message service? You may not think of it

Since the Ministry of Industry and Information Te...

[Black Friday] SoftShellWeb: $8.99/month-1GB/20GB/100GB@1Gbps/Taiwan VPS

SoftShellWeb has released several special promoti...

Chip shortages, edge computing and IoT will drive IT transformation in 2022

Forrester Research pointed out in its research th...

Three major problems facing my country's 5G base stations

At present, the development of 5G commercializati...

Little-known tips for ordinary users to install broadband at home

In the past two years, broadband has become a mus...

Review of 5G in 2019: 5G sounded the rally call for commercial use

"5G is like a newborn baby, new from head to...

Don't know how to learn the protocol? Click it!

Once you enter the communications industry, you w...

China Mobile's July data shows sharp decline in users is still accelerating

Recently, China Mobile released its operating dat...

A brief history of computer networks

The development of computer networks has come a l...