Reducing Impact and User Disruption in Production Deployments

Reducing Impact and User Disruption in Production Deployments

Question

You have an application deployed in production.

When a new version is deployed, some issues don't arise until the application receives traffic from users in production.

You want to reduce both the impact and the number of users affected.

Which deployment strategy should you use?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A.

https://thenewstack.io/deployment-strategies/

When deploying a new version of an application in production, it's important to ensure that the impact on users is minimized. One way to achieve this is by using a deployment strategy that reduces the number of users affected by issues.

Among the deployment strategies listed, the best option for this scenario would be a "Canary Deployment".

Canary Deployment is a technique where a small subset of the production traffic is redirected to the new version of the application while the majority of traffic is still routed to the current version. This subset of users is referred to as the "Canary group". This approach enables the team to monitor the behavior of the new version under real-world conditions before deploying it to the entire user base.

If issues are identified, the deployment can be rolled back before it affects the entire user base. Alternatively, if the new version performs well with the Canary group, it can be gradually rolled out to more users until it's fully deployed.

The other options are:

  • Blue/green deployment: This technique involves deploying a new version of the application alongside the existing version, and then switching the traffic to the new version once it's ready. This approach can cause downtime and may be more suitable for cases where the application can tolerate a short period of downtime.
  • Rolling deployment: This deployment technique updates the application in small increments, one server or cluster at a time, until the new version is fully deployed. This approach can cause a longer deployment time but can also minimize downtime and impact on users.
  • Recreate deployment: This strategy involves destroying the existing infrastructure and creating a new one from scratch with the new version. This approach can be risky and may cause downtime, and is typically not recommended for production deployments.

Therefore, Canary Deployment is the most suitable option for reducing the impact of a new deployment and minimizing the number of affected users.