Dev: Popular Deployment Strategies

 "Big Bang" Deployment

  • All major pieces packaged in one deployment;
  • Largely or completely replacing an existing software version with a new one;
  • Deployment usually resulting in long development and testing cycles;
  • Assuming a minimal chance of failure as rollbacks may be impossible or impractical;
  • Completion times are usually long and can take multiple teams’ efforts;
  • Requiring action from clients to update the client-side installation.

Rolling Deployment

An application’s new version gradually replaces the old one. The actual deployment happens over a period of time. During that time, new and old versions will coexist without affecting functionality or user experience.

Progressive exposure deployment


Progressive exposure deployment is a DevOps practice which relies on deployment rings. Firstly, we define the rings based on a certain criteria. Secondly, we identify and divide users or the audiences into these rings. Thirdly, we expose features to those selected set of users. After that, evaluate the impact through observation, testing, analysis of telemetry, and user feedback. Most importantly, all these steps are performed in the production region. We are actually targeting what functionality we want them to see. And it’s the targeting that’s actually a key feature of the progressive exposure pattern. 


 The progressive exposure targets to a specific group of users for each of the rings. 


Blue-Green, Red-Black or A/B Deployment

One is the currently-running production environment receiving all user traffic (depicted as Blue). The other is a clone of it, but idle (Green). Both use the same database back-end and app configuration:

The new version of the application is deployed in the green environment and tested for functionality and performance. Once the testing results are successful, application traffic is routed from blue to green. Green then becomes the new production.

Canary Deployment

Canary deployment is like blue-green, except it’s more risk-averse. Instead of switching from blue to green in one step, you use a phased approach.

With canary deployment, you deploy a new application code in a small part of the production infrastructure. Once the application is signed off for release, only a few users are routed to it. This minimizes any impact.

Read more:
https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3 
https://cache404.net/understanding-azure-devops-deployment-patterns/


No comments:

Theme images by merrymoonmary. Powered by Blogger.