Deployment and progressive delivery
"How do you ship safely" is a guaranteed question at lead level, and the answer is a system, not a technique. The composite answer that sounds like practice: rolling as the mechanism, canary as the policy, flags as the exposure control, rings for the blast-radius sequencing. They compose; they are not competitors.
One sentence resolves half the process questions in this area: deploy is not release. Deployment moves bits, release exposes users, and a feature flag is what decouples them.
What this chapter covers
- [done] Canary vs A/B testing
- [done] The deployment strategy matrix covers recreate, rolling, blue/green, canary, shadow and rings, plus traffic shifting and consistent cohorting
- [done] What canaries cannot catch
- [done] Deploying stateful services and long-lived connections covers connection draining, quorum-aware rolling updates and what PodDisruptionBudgets actually protect
- [done] Trunk-based development and the merge queue
- [done] Testing strategy covers pyramid vs trophy with a position, plus property-based and mutation testing
- [done] Peeking, novelty, interference and switchback tests
- [done] Deploy is not release also covers feature flag types, lifecycles and flag debt policy
- [done] Testing 40 microservices without a full environment
- [done] Expand and contract also covers cache and message compatibility across versions (drill 64)
- [done] A mobile crash at 40 percent rollout
- [done] Automated canary analysis
- [done] Bake time and minimum detectable effect
- [done] Shadow traffic
- [done] Experimentation design
Source: §30, §39.