Release Strategy for Fast and Reliable App Deployment | Designing and Implementing Microsoft DevOps Solutions

Best Release Strategy for Minimizing Deployment Time and Rollback Duration

Question

You are currently defining a release strategy for an app, named APP-01.

The strategy should allow you to keep the time it takes to deploy new releases of the app to a minimum. The strategy should also allow you to roll back in the shortest time required.

Which of the following is the release strategy you should use?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A

Canary deployment -

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.

With no errors reported, the new version can gradually roll out to the rest of the infrastructure.

https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3

The release strategy that fulfills the given requirements is Canary deployment (Option D).

Canary deployment is a release strategy in which a small subset of users or machines receive the new version of the application while the rest of the users/machines continue using the old version. This strategy allows developers to test the new release in a real production environment, without exposing all users to potential issues.

Canary deployment allows for the shortest deployment time since only a small subset of users or machines are affected. If there are no issues with the canary group, the new release can be rolled out to the remaining users/machines.

In case an issue is identified, the deployment can be rolled back in the shortest time possible since only a small subset of users/machines are affected. This makes it easier to identify and fix any issues before they affect a large number of users/machines.

On the other hand, Red/Black deployment (Option A) and Rolling deployment (Option B) are also popular release strategies but do not fulfill the requirement of minimizing deployment time while allowing for quick rollbacks as effectively as Canary deployment.

Red/Black deployment is a release strategy that deploys a new version of the application alongside the old version in a separate environment. Once the new version is tested and verified, traffic is switched from the old version to the new version. This strategy provides a quick rollback mechanism by switching traffic back to the old version in case of issues, but it may take longer to deploy since it requires setting up a separate environment for the new version.

Rolling deployment is a release strategy that gradually deploys the new version of the application to a subset of users/machines, and if there are no issues, the rollout is gradually extended to more users/machines. This strategy is faster than Red/Black deployment since it does not require setting up a separate environment, but it may take longer to roll back since the rollout is gradual.

Finally, Big Bang deployment (Option C) is a release strategy in which the new version is released to all users/machines at once. This strategy is the fastest to deploy but is also the riskiest since any issues will affect all users/machines simultaneously, making it difficult to identify and fix the issues quickly.