Canary Deployment with Cloud Run for Anthos | Web Application Update Evaluation

Canary Deployment with Cloud Run for Anthos

Question

Your web application has been running successfully on Cloud Run for Anthos.

You want to evaluate an updated version of the application with a specific percentage of your production users (canary deployment)

What should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A.

To evaluate an updated version of a web application with a specific percentage of production users, a canary deployment is typically used. A canary deployment gradually rolls out a new version of an application to a small subset of users while keeping the remaining users on the existing version. This approach helps to mitigate the risks associated with deploying a new version of an application by allowing the development team to monitor the new version's behavior and performance before fully rolling it out to all users.

In this scenario, the web application is running on Cloud Run for Anthos. Cloud Run for Anthos is a fully managed platform that runs containerized applications on Google Kubernetes Engine (GKE) clusters. Cloud Run for Anthos provides a serverless execution environment for containers, allowing developers to deploy and scale containerized applications without managing the underlying infrastructure.

To perform a canary deployment on Cloud Run for Anthos, we need to create a new revision or a new service with the new version of the application. The correct answer to the question is B. Create a new revision with the new version of the application. Split traffic between this version and the version that is currently running.

Explanation of Option A: Creating a new service with the new version of the application and splitting traffic between this version and the version that is currently running is a valid approach to perform a canary deployment. However, it is not the best approach in this scenario because it requires managing two separate services, which can be more complex and time-consuming.

Explanation of Option C: Creating a new service with the new version of the application and adding an HTTP Load Balancer in front of both services is another valid approach to perform a canary deployment. However, it is not necessary in this scenario because Cloud Run for Anthos provides built-in load balancing and traffic splitting functionality, which simplifies the deployment process.

Explanation of Option D: Creating a new revision with the new version of the application and adding an HTTP Load Balancer in front of both revisions is not the best approach in this scenario. Cloud Run for Anthos provides built-in load balancing and traffic splitting functionality, so there is no need to add an additional load balancer.

To perform a canary deployment on Cloud Run for Anthos, follow these steps:

  1. Build a new version of the application and containerize it.
  2. Deploy the new version of the application to Cloud Run for Anthos as a new revision.
  3. Configure traffic splitting to gradually route a percentage of traffic to the new revision.
  4. Monitor the behavior and performance of the new version of the application.
  5. If the new version performs well, gradually increase the percentage of traffic routed to the new revision.
  6. If any issues are detected, roll back the deployment to the previous version.

In summary, to evaluate an updated version of a web application with a specific percentage of production users on Cloud Run for Anthos, we need to create a new revision with the new version of the application and split traffic between this version and the version that is currently running.