📜 ⬆️ ⬇️

Background: what is Continuous Delivery

Earlier we talked about Continuous Integration (CI). Continue with Continuous Delivery. This is a compilation of software development methods. It helps to ensure that the code is ready for deployment.


/ Pixabay / bluebudgie / PL

Story


The combination of continuous delivery could be seen as early as the agile manifest of 2001 at the beginning of the list of basic principles: “Priority is the solution of the customer’s problems with the help of continuous delivery of up-to-date software.”
')
In 2010, Jez Humble and David Farley published a book on Continuous Delivery. According to the authors, the CD complements the Continuous Integration approach and allows you to simplify the preparation of code for deployment.

After the publication of the book, the approach began to gain popularity and in just a couple of years it became almost universally accepted. According to a survey conducted among more than 600 developers and IT managers in 2014, 97% of technical managers and 84% of programmers were familiar with Continuous Delivery.

Now this approach remains one of the most popular. According to a 2018 study that the DevOps and Jenkins Community IT-community attracted , half of the more than 1,000 respondents use it.

How does Continuous Delivery work?


The CD basis is the readiness of the code for deployment. To accomplish this task, the automation of the process of preparing software for release is used. It should be standard for various development environments, which will help to quickly find weak spots and optimize them. For example, speed up testing.

An example of the Continuous Delivery process is as follows:



If the automation of the first two stages is the responsibility of the Continuous Integration approach, then the next two are Continuous Delivery. The stability of the process is provided, including through configuration management systems. They monitor changes in infrastructure, databases, and dependencies. Deployment itself can be automated, or it can be done manually.

The process requires the following requirements:


CDs usually use code review , and dark launching is used to collect customer feedback . A new feature is first released for a small segment of users - their experience in interacting with the product helps to find flaws and bugs that were not noticed during internal testing.

What is the benefit


Continuous Delivery helps to simplify the deployment of code, which has a positive effect on productivity and reduces the likelihood of employee burnout. Ultimately, this reduces overall development costs. For example, a CD helped one of the HP teams reduce such costs by 40%.

In addition, according to a 2016 study (page 28 of the document ), companies that have implemented a CD solve problems with information security 50% faster than those who do not use the approach. To some extent, this difference can be explained by the operation of process automation tools.

Another plus is the acceleration of release releases. In the Finnish development studio, continuous delivery helped increase the code build speed by 25%.

Potential difficulties


The first and main problem is the need to rebuild the usual processes. To show the benefits of the new approach, it is worth moving to a CD gradually, starting not with the most time-consuming applications.

The second potential problem is a large number of code branches. The consequence of "branching" - the frequent conflicts and the next loss of a large amount of time. A possible solution is the no branches approach.

In particular, in some companies the main difficulties arise with testing - it takes too much time. Test results often have to be analyzed manually, but a possible solution may be parallelization of tests in the early stages of introducing a CD.

You should also train employees to work with new tools - a preliminary educational program will save developers time and effort.


/ Flickr / h.ger1969 / CC BY-SA

Instruments


Here are some open source tools for Continuous Delivery:


What to read in our corporate blog:

Source: https://habr.com/ru/post/449364/


All Articles