Enterprise engineering

How do feature flags, canary releases and API versioning work?

Release engineering separates *deploying* code from *releasing* functionality, which lowers risk.

  • Feature flags — ship code switched off, enable gradually by user, tenant or percentage; provide a kill switch; remove stale flags promptly
  • Canary release — send a small share of traffic to the new version, compare error and latency metrics, then expand or roll back automatically
  • Blue/green — run two production environments and switch traffic instantly; instant rollback, higher cost
  • Rolling deployment — replace instances gradually behind health checks
  • Semantic versioning (MAJOR.MINOR.PATCH) — communicate breaking changes; maintain a changelog
  • API versioning and deprecation — keep old versions working during a published sunset window; use additive, backward-compatible changes by default
  • Rollback design — reversible migrations (expand/contract), immutable artifacts and a rehearsed procedure

Tie promotion to automated health signals, not to confidence.

All guides