Explaining the concept of deployment patterns

Applications constantly receive updates that function to create new features or correct any problems. These new features and updates need to be promoted to a production-level without causing any problems or delays to a service. Furthermore, it is sometimes necessary to deliver a new version of an application to a select group of users, such as those in certain countries or certain business areas. 

When we talk about delivery in this context, we are referring to releasing a new version of an application into the production environment. A software project has various steps that need to be evaluated and considered in order to permit the delivery of good software.

These steps include following a good process to get the business role, a good process for testing the application, a good process for developing the code of the application, and a good process for delivering the project to production, which is the aim of the project. All software projects have one important common objective—to deliver good, high-quality software without causing any collateral effects. The deployment step is a very important step in particular, as this is when the software is delivered; the overall goal of the project will be achieved here, but if any errors occur, then all projects can be impaired. As a result of this step, deployment patterns were created.

Deployment patterns (also known as deployment strategies) are a set of solutions for common deployment-related problems. These patterns make the deployment process safer and mitigate the chance of errors occurring in new releases. Some examples of deployment patterns include:

    • Canary deployment
    • Blue/green deployment
    • A/B testing

Continuous deployment is also a deployment pattern, but we did not include this in the list because it is the most comprehensive method, one that creates a pipeline and works at all steps of the delivery. Furthermore, continuous deployment more accurately describes the solution of automating the development stages, and this can be used with any of the deployment patterns listed previously. With this, the patterns we mentioned work in reduced scope and the continuous deployment pattern works on a large scope. In the following diagram, you can see how these two types of deployment patterns work, as well as the stages they follow:

In some literature, the concept of continuous deployment is covered together with the concept of continuous delivery. This is because these two concepts are very similar, with only some small differences between them. The difference between these concepts will be shown in detail in the Explaining the concept of continuous deployment section of this chapter.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.38.176