advanced
2 min answer
A change must be rolled out across many regions. How should the sequence be designed, and what makes region-by-region rollout fail to provide the safety it appears to?
Show the full answer Hide the answer
The sequence
Ordered by increasing consequence, with a gate at each step:
- Internal and staff traffic, which catches the obvious.
- A single cell or a single small region, chosen for low traffic and, importantly, for having representative traffic — a region with a different usage profile validates nothing about the others.
- A larger region in a different geography, exercising different latency characteristics and different customer profiles.
- A representative sample of regions in parallel, which is where scale-dependent problems appear.
- The remainder, in waves.
Never all regions simultaneously, and never the largest region first — though the temptation exists, because the largest region provides the most signal fastest.
Why region-by-region rollout frequently provides less safety than it appears
- Shared control planes. If regions share a configuration service, an identity provider, a deployment system or a global database, a change affecting that shared component reaches all regions at once regardless of the rollout sequence. The rollout is regional and the risk is not.
- Bake time too short for the failure mode. Advancing every fifteen minutes catches immediate crashes and misses everything load-dependent, memory-related or time-dependent. A change that fails at peak traffic needs a bake window that spans a peak in that region — which for a global rollout means the sequence must respect local time.
- Unrepresentative early regions. A small region with a different customer mix, different data shapes and different integrations validates only that the code starts.
- Automated advancement without genuine health gates, which is a schedule rather than a rollout.
- Data-layer changes that are not regional. A schema change or a global table modification applies everywhere immediately, so the regional sequence protects the compute and not the state.
The controls that make it real
- A genuine health gate per wave, with automatic hold, measuring segmented and comparative signals rather than aggregates.
- Bake time set by the failure modes being defended against, and sequenced so each region's window spans its own peak rather than advancing on wall-clock convenience.
- An explicit inventory of what is global, because that is what the rollout does not protect — and it is usually longer than assumed.
- Rollback capability at every stage, tested, with a measured time-to-revert that is a known number.
- Rollback that does not require the control plane in the affected region, since that is frequently what has been impaired.
- The ability to hold indefinitely at any wave, so an ambiguous signal produces a pause rather than a binary.
The uncomfortable arithmetic
A safe rollout takes days, and a security fix cannot wait days. The resolution is the same as for configuration: separate urgency classes, with narrowly-scoped, heavily-validated urgent changes on a fast path and everything expressive on the gated one — decided by what the change can do rather than by how urgently someone wants it deployed.