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

IPv6 has a "red" start, and Internet giants are showing their talents!

After "getting up early and arriving late&qu...

WiFi is slow and stuck, maybe it’s a traffic jam

The NBA Finals are coming! But when using WiFi to...

Cloud empowers new life and Wind River IoT genes are upgraded again

There is a wind power plant abroad that mainly us...

Accelerate the deployment of 6G, satellite Internet may become the key

In recent years, communication technology has dev...

Juniper Networks MIST AI network solution gives network engineers "superpowers"!

[51CTO.com original article] Under the night, the...

What are the advantages of using wireless mesh networks in enterprises?

In the traditional wireless network usage environ...

Network monitoring tool! Don't miss these 7 free open source tools

Editor's note: In the real estate market, the...