Observability and reliability
Game days and region drills
How to rehearse a failover or region evacuation with the real team and runbook, write a testable hypothesis, measure the actual RTO and RPO, and include degraded dependencies in the plan.
A runbook you have never run is a guess. A game day is a planned exercise where the real team runs a failure scenario with the real runbook, against written success criteria. A region evacuation drill is a game day that shifts traffic and data dependence out of one region.
Concept
A runbook is a step-by-step document for a known task or failure, usually linked from an alert. A hypothesis for a drill is a specific, testable claim with a number in it, such as "we can fail over payments within 20 minutes with RPO at most 1 minute."
The big idea
A game day is a fire drill. Everyone practices the same steps, you time them, and you find the stuck door before the fire does.
The fire drill analogy breaks in one place. A real game day can move real traffic and cost real money. Scope the blast radius first. Start with a staging cell or a small canary slice, and bring executives in before a full production drill.
How to run one
- Declare the scope. A staging cell, a canary slice of production traffic, or full production with executive awareness.
- State the hypothesis with a number. For example: fail over payments to the second region within 20 minutes, with RPO at most 1 minute.
- Assign roles exactly as in a real incident.
- Run the runbook. Shift traffic in DNS, promote the replica, drain queues and verify writes.
- Measure the real RTO and RPO. File every gap as a P0 or P1 item.
- Reset the environment, and write a short after-action note.
How often? Critical paths need a drill at least once a year, and preferably twice. Restore tests run quarterly.
Walking through a hypothesis
| Item | Target | Measured | What to do next |
|---|---|---|---|
| Failover time | 20 minutes | Record the real time | If over, find the slow step and file it |
| Data loss | RPO of 1 minute or less | Compare the last committed write | If over, check replication lag |
| Writes verified | Yes | Check the golden transactions | If not, the runbook has a gap |
The table is the output of the drill. Each gap becomes a ticket with an owner and a date.
Include degraded dependencies
Dependencies fail even when your region is healthy. A good drill includes more than "our zone is gone":
- The authentication provider is slow or erroring.
- Object storage returns 503s.
- The DNS provider is slow to update.
For each, document the degraded mode: read-only mode, cached auth, or queued writes for later. DR is often product behavior under partial failure, not only a database promotion.
Common mistakes
- Only testing a full region loss. Partial failures are more common.
- No success criteria. Without a number, every drill looks like a pass.
- Skipping the after-action note. The gaps are lost by the next quarter.
- Running the drill with different people. It must use the real on-call roles.
Check yourself
- Why write the hypothesis, with a number, before the drill? Without a target, you cannot tell pass from fail, and the drill proves nothing.
- Besides a lost zone, what should a drill test? A degraded dependency, such as auth or object storage returning errors.
Key takeaways
- A runbook is a guess until a drill measures it.
- Write a numeric hypothesis, run the real runbook, and time it.
- Test degraded dependencies, not just a missing zone.
- Every gap gets an owner and a date.
Further learning
Next, see how to test failures in production-like conditions in chaos engineering.
Related
Disaster recovery and chaos engineering
RPO and RTO, backups that restore, game days and region drills, and deliberate failure injection, so confidence comes from measured recovery. Start here for the map of disaster recovery pages.
Incident response
Run an incident with clear roles, severity and communication. Mitigate first, debug second, then hand off to the postmortem. Start here for the map of incident pages.
Blameless postmortems
Learning from failure with timelines, contributing factors and action items that actually get done — without turning people into the root cause.