Stackbook Logo
deploymentestablished · high operational burden

Deployment Strategies

Also known as: deployment-patterns, blue-green, canary, rolling, feature-flags, dark-launch

Intent

Choose and implement safe deployment strategies: rolling, blue-green, canary, feature flags — with automated rollback and observability.

Problem

Deployments cause outages. Big bang = 100% blast radius. Need progressive delivery with automated rollback.

Forces

  • Zero downtime required
  • Instant rollback capability
  • Real traffic validation before full rollout
  • Automation: no manual approval gates

Solution

✓ When to Use

  • Any production deployment
  • Zero-downtime requirements
  • Risk mitigation for changes

✗ When Not to Use

  • Dev/test environments (rolling fine)
  • Single-instance services (no HA)
  • Team not ready for automation investment

Pros

  • +Zero downtime deployments
  • +Instant rollback capability
  • +Risk mitigation: blast radius control
  • +Deploy frequency decoupled from release

Cons

  • Infrastructure overhead (blue-green 2x, canary 2 versions)
  • Automation complexity (metrics, analysis, rollback)
  • Schema changes: expand/contract discipline
  • Flag debt: cleanup process required

Cost Profile

Infrastructure

Low (rolling) to High (blue-green 2x)

Operational

High — automation, metrics, runbooks

Cognitive

Medium — strategy choice, automation design

Failure Modes

  • Canary metrics wrong: false promote/rollback

  • Flag debt: 200 flags, no cleanup

  • Schema break: expand/contract violated

  • Rollback fails: traffic switch broken, manual intervention

  • Dark launch cost: 2x compute, no user signal

Real-World Examples

Alternatives

  • rolling-update
  • recreate
  • big-bang
  • feature-flags
  • dark-launch

Related Patterns

  • feature-flag
  • canary-deployment
  • blue-green-deployment
  • dark-launch
  • expand-contract
  • database-migration
  • observability
  • slo-slo

Competency Domains

deploymentreliability opseconomics evolutiondistribution communicationdata state