Application 2023-06-03

Deployment Strategies Explained: Blue-Green, Canary, Rolling, and More

Compare blue-green, canary, rolling, and recreate deployment strategies. Learn when to use each one and how they minimize downtime and reduce deployment risk.

Read in: ja
Deployment Strategies Explained: Blue-Green, Canary, Rolling, and More

Overview

Summarizing deployment strategies.

Definitions of Deploy, Release, and Rollback

As a prerequisite for deployment strategies, let's clarify the definitions of these terms.

Deploy: "Placing an executable program in the execution environment." Release: "Making it accessible to users." Rollback: "Releasing an older version."

Types of Deployment Strategies

Let's look at some representative strategies.

In-Place Deployment

A method of deploying a new version directly to the existing environment.

As a side note, bmf-tech.com uses docker-compose, and the deployment is in-place deployment... cf. Technology Supporting bmf-tech

A method of switching between old and new versions using symbolic links.

Blue-Green Deployment

A method where two environments, blue and green, are prepared, and the new version is deployed to one, temporarily deploying both old and new versions. If there are no issues with the new version, traffic is switched from the old version to the new version. Both blue and green environments are maintained.

Immutable Deployment

Similar to blue-green, but differs in that the old environment is deleted after traffic is switched.

Rolling Deployment

A method of deploying and releasing the new version in increments. Until completion, traffic to both old and new environments remains active.

Canary Deployment

A method where only a portion of users or traffic is exposed to the new version, allowing for partial deployment and release of the new version.

Deployment Strategy Evaluation Table

For each deployment strategy, important criteria for selection are picked and summarized in a table.

Deployment Method Zero Downtime Production Testing Rollback Time Operational Cost
In-Place Deployment × × High Low
Symbolic Link Deployment × Low Medium
Blue-Green Deployment Low (even before/after traffic switch) High
Immutable Deployment Low (limited to before old environment deletion) High
Rolling Deployment × Low Medium
Canary Deployment Medium High

Release Strategies

Tags: Deployment
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ Support

If you enjoy this blog, consider supporting it. Every bit helps keep it running!


Related Articles