Game Days & Chaos Engineering

Practicing failure deliberately. Google's DiRT, Netflix Chaos Monkey, modern chaos engineering tools.

Overview

Practice failure on purpose

Practicing failure separates "we hope it works" from "we know it works." Three related practices do this at different scales.

  • Game Days — Scheduled full-team incident simulations: page on-call, run command structure, mitigate, postmortem — Amazon, around 2003; Google formalized it as DiRT
  • Chaos Engineering — Continuous, targeted failure injection in production or production-like environments; now covers network failures, latency, region outages, dependency failures — Netflix Chaos Monkey (2010): random instance termination during weekday business hours, so engineers build for "instances die at any time"
  • DiRT (Disaster Recovery Testing) — Google's annual company-wide week: power outages, network partitions, regional failures, leadership-loss scenarios — Documented in the SRE Book and Workbook; finds gaps monthly game days miss

Why practice deliberately

  • Untested failover doesn't work — The first DR-region failover always finds something misconfigured (IAM, secrets, DNS); better found in a controlled setting
  • Knowledge transfer — New on-call engineers experience incident response without customer impact
  • Process gaps surface — "Where's the contact list?" "Who can approve a rollback?" "How do I update the status page?"
  • Hidden dependencies — "We depend on service X but didn't know it," usually through legacy code calling it directly

Principles of Chaos Engineering (2017 manifesto)

  • 1 — Build a hypothesis around steady-state behavior — "Under normal load, p99 latency is [!IMPORTANT] The hardest step is buy-in for injecting failure into production. Untested failure paths break worse, with worse customer impact: inject controlled failure now to avoid uncontrolled failure later.

> [!TIP] Successful programs start with staging-only chaos, graduate to prod with a limited blast radius (single instance, single AZ), then extend to larger experiments such as region drains.

Key concepts

Game Day
Scheduled team-wide incident simulation. Realistic failure scenario; respond as if real; postmortem.
Chaos Engineering
Continuous, automated failure injection in production. Netflix Chaos Monkey origin (2010).
DiRT
Google's annual Disaster Recovery Testing week. Company-wide simulated disasters.
Steady-state hypothesis
Define normal behavior before chaos experiment. "p99 < 500ms under normal load."
Minimize blast radius
Chaos experiments scope tight initially; expand only after success. Kill switch always available.
White team
Game day observers who watch the response without interfering. Take notes for the debrief.

When to use it

  • Pre-launch — game day for the new service before it carries real traffic
  • After major architectural changes — verify failure modes still work
  • Quarterly cadence — game days as a recurring practice
  • Team training — new on-call engineers run a game day before going on rotation

Interview questions

  • How would you run a game day for a new service?
  • How do you run chaos engineering safely in production?
  • What's the difference between game days and chaos engineering?

Sign up free to read the full topic

More SRE topics

Start free on Cariara · Coding problems · System design studio