DevOps: blue-green deploy
This course covers how to separate deploy, which puts code on infrastructure, from release, which lets users reach it. It explains blue-green deployment with two environments and one switch, canary releases to a fraction of traffic, and feature flags that choose a code path per user. It shows why two code versions sharing one database make schema changes the hard part, and how expand and contract handles them. It also covers abort criteria, rollback versus roll forward, and picking a strategy for each kind of change.
What you'll learn
- ✓The difference between deploy and release
- ✓Blue-green switching in Kubernetes, Argo Rollouts and reverse proxies
- ✓Canary weights, pauses and metric comparison against the stable version
- ✓Feature flags with Flipper, flag kinds and removal discipline
- ✓Expand and contract migrations, concurrent indexes and batched backfills
- ✓Abort criteria, rollback, roll forward and choosing a strategy
Release is not deploy
Two words get used as if they mean the same thing, and almost every deployment problem lives in the gap between them.
Read the full lesson free →Curriculum
7 lessonsRelease is not deploy
Separates deploy from release, compares four strategies, and lists what zero downtime requires from the application.
Blue-green: two environments, one switch
Runs two identical environments, verifies the idle one, then switches traffic, with Kubernetes, Argo Rollouts and proxy examples.
Canary: releasing to a fraction
Releases a new version to a share of traffic and compares its errors and latency against the stable version.
Feature flags: releasing to a person
Uses feature flags to choose code paths per user, covering Flipper, flag kinds, lifetimes and cleanup costs.
The database is the hard part
Explains expand and contract migrations, concurrent indexes, batched backfills and compatibility for jobs, caches and cookies.
Deciding, and rolling back
Sets abort criteria before a release, weighs automatic and human decisions, and chooses between rollback and roll forward.
Putting it together: choosing a strategy
Chooses a strategy by kind of change and walks through a full release combining migrations, canary and flags.