Game Day Exercises: Resilience Engineering

A "Game Day" is a structured, collaborative exercise where teams inject controlled failures into a system to validate its resilience, observability, and incident response protocols.

1. The Hypothesis-Driven Model

Chaos engineering is not random; it is scientific. Every test must start with a steady-state hypothesis.

2. Common Failure Scenarios

Failure VectorMechanismObjective
Network Latencytc qdisc / Service MeshTest timeouts and circuit breakers.
Process KillSIGKILLTest auto-healing (Kubernetes restarts).
Resource Starvationstress-ng (CPU/RAM)Test horizontal pod autoscaling (HPA).
Dependency LossBlock outbound IPTest graceful degradation (fallbacks).

3. Game Day Execution Protocol

  1. Define Blast Radius: Limit the test to a specific subset of users, a single availability zone, or a staging environment that mirrors production.
  2. Observability Baseline: Ensure dashboards are active. If you can't see the failure in your metrics, the test has already failed its primary goal (validating observability).
  3. The "Big Red Button": Have a pre-scripted, immediate rollback command (e.g., kubectl delete networkpolicy block-db).
  4. Post-Mortem: Document the "Time to Detect" and "Time to Recovery." Identify gaps in the runbook or code (e.g., "The fallback was triggered, but it pointed to an empty cache").

4. Why Game Days? (The Human Factor)

Beyond the code, Game Days train the On-Call Engineer.


See Also: