Rollout Strategy

Rollout Strategies for Application Deployment

When deploying applications, selecting the right rollout strategy is crucial for a smooth and controlled release process. Here are three common strategies: Rolling Update, Canary, and Blue-Green.

Rolling Update:

Rolling Update is a gradual deployment strategy that minimizes downtime and risk. It involves updating instances one at a time, ensuring that a certain percentage of the environment is always available and functional. Here's how it works:

  • Deploy new instances with the updated version alongside existing ones.
  • Gradually redirect traffic from the old instances to the new ones.
  • Monitor performance and health during the transition.
  • Continue until all instances run the updated version.

Rolling Update is well-suited for maintaining continuous availability and responsiveness during the update process.

Configuring Rolling Update via UI

To configure the rollout parameters for your service via the UI, follow these steps:

  1. In the Deployment Form, find the "Show advanced fields" toggle button at the bottom.
  1. Once activated, when you scroll done a bit the Rollout Section will become visible.
  2. Enable Rollout by checking the corresponding checkbox.
  1. Select Rolling Update Strategy (Preselected after enabling). And set the desired value for Max Surge and Max Unavailable

Configuration Options for Rolling Update

  • Max Surge:
    Percentage of total replicas of updated image that can be brought up over the total replicas count. For a value of 25 when replicas are set to 12 this would mean (12+(25% of 12) = 15) pods might be running at one time. Setting this to a higher value can help in speeding up the deployment process.
  • Max Unavailable:
    Percentage of total replicas that can be brought down at one time. For a value of 25 when replicas are set to 12 this would mean minimum (25% of 12) = 3 pods might be unavailable during the deployment. Setting this to a higher value can help in speeding up the deployment process.

Canary:

Canary is a strategy that allows you to test new releases with a small subset of users before a broader release. Like a canary in a coal mine, it serves as an early warning system. Here's how it operates:

  • Deploy the new version to a small portion of your user base.
  • Monitor user feedback and application performance.
  • If the canary group shows positive results, gradually expand the release to a larger audience.
  • Roll back if any issues arise during the canary release.

Canary is ideal for minimizing risks associated with major updates and collecting valuable feedback before a full rollout.

Configuring Canary Rollout via UI

To configure the rollout parameters for your service via the UI, follow these steps:

  1. In the Deployment Form, find the "Show advanced fields" toggle button at the bottom.
  1. Once activated, when you scroll done a bit the Rollout Section will become visible.
  2. Enable Rollout by checking the corresponding checkbox.
  1. Select Canary Update Strategy. And set the desired value for Steps specifying the amount of traffic to be redirected via Weight and how much time to pause for by pause for fields.

Blue-Green:

Blue-Green is a strategy that ensures a seamless transition between different versions by maintaining two identical environments: one for the current version (blue) and one for the new version (green). Here's the process:

  • Route traffic exclusively to the blue environment, which represents the currently running version.
  • Deploy the new version in the green environment alongside the blue one.
  • Once the green environment is ready, switch traffic from blue to green.
  • Blue now becomes the staging environment for future releases.

Blue-Green minimizes downtime and provides an instant fallback mechanism in case issues arise in the new version.

Configuring Canary Rollout via UI

To configure the rollout parameters for your service via the UI, follow these steps:

  1. In the Deployment Form, find the "Show advanced fields" toggle button at the bottom.
  1. Once activated, when you scroll done a bit the Rollout Section will become visible.
  2. Enable Rollout by checking the corresponding checkbox.
  1. Select Blue-Green Update Strategy. And specify if you want Auto-Promotion and if yes after how much time by the Auto-Promotion seconds