Progressive delivery

Blue/green, canary, rolling, auto-rollback.

Advanced30 min · lesson 11 of 15

How you roll out a change determines its blast radius if something goes wrong. Progressive delivery strategies — blue/green, canary, rolling — plus automated rollback let you deploy with minimal risk and recover fast.

Blue/green, canary, and rolling

Blue/green runs a new (green) environment alongside the current (blue) one, then shifts all traffic to green at cutover — giving instant rollback (switch back to blue) and no downtime, at the cost of running two environments briefly. Canary releases the new version to a small subset of users first, watches metrics, and expands gradually only if healthy — limiting the blast radius of a bad release and rolling back before most users are affected. Rolling updates replace instances in batches, keeping the service available throughout. App Service deployment slots make blue/green easy: deploy to a staging slot, warm it, and swap slots for a zero-downtime cutover with instant rollback by swapping back. The right strategy depends on the workload and risk tolerance.

progressive delivery strategies
# STRATEGY HOW ROLLBACK
# blue/green new env beside old, shift traffic switch back (instant)
# canary small % first, watch metrics, expand stop + revert the %
# rolling replace instances in batches roll batches back
#
# App Service slots = easy blue/green:
az webapp deployment slot swap -g app-rg -n contoso-web --slot staging
# deploy to staging → warm → swap → (swap back to roll back instantly)

Automated rollback

Progressive delivery only works when paired with monitoring and automated rollback. You define health signals — error rate, latency, failed health checks, a spiking alert — and the pipeline automatically reverts to the last good version when they degrade during or after a deployment, containing a bad release in seconds without waiting for a human to notice. This is why canary and blue/green are watched: the deployment observes metrics and decides to proceed or roll back. Combined with feature flags (turn a bad feature off without redeploying) and deployment slots (swap back), automated rollback means a failed release is a brief, self-correcting event rather than an outage. The engineer builds deployments that are not just automated but self-protecting — they watch their own health and undo themselves when something is wrong.

Deploy with minimal risk
limit blast radius
blue/green
instant cutover + rollback
canary
small subset first, expand if healthy
slots
zero-downtime swap
self-protect
watch health/metrics
error rate, latency, alarms
automated rollback
revert to last good in seconds
Progressive strategies limit blast radius; monitoring plus automated rollback make a bad release a brief, self-correcting event.
A rollout without monitoring is not progressive delivery
Canary and blue/green only reduce risk if the deployment watches health signals and can roll back automatically — a "canary" nobody monitors just exposes some users to a bad release slowly. Pair every progressive rollout with metric/health monitoring and automated rollback, so degradation is detected and reversed without waiting for a human.