Live Chaos Experiments
Fault injection against the running production system: kill a node, sever a region, corrupt a fraction of messages, and watch whether runtime invariants hold. The adversary here is not hypothetical, and the environment is not a staging cluster wearing a costume.
Live chaos is the deployment pattern — running fault injection (the technique) against production with real traffic. The two are distinct sensors: fault injection tests resilience hypothetically in staging; live chaos tests it against the real system, where unknown failure modes are the ones that actually hurt.
In practice
A live chaos reading is the experiment report: what was injected, who was in the blast radius, and how the invariants held up. From a regional failover drill:
experiment: sever us-east-1 to cache cluster, 15:00 UTC
blast radius: 5% of checkout traffic, feature-flag gated
abort conditions: error rate > 2%, p99 > 800 ms
metric baseline during recovery
checkout errors 0.1% 0.9% 0.2% (after 4m)
p99 latency 310 ms 720 ms 330 ms
abandoned carts 12 41 15
verdict: SURVIVED WITH DEGRADATION
finding: cache stampede on failover; no request coalescing
Reading it well:
- Read the blast radius first. It defines what the experiment was allowed to cost; a “pass” that needed a narrow radius may still be a warning.
- Recovery time is part of the verdict. A system that survives but takes eleven minutes to settle failed the drill in every way that matters at 3 a.m.
- Compare against the abort conditions. Note how close the run came to tripping them; near-misses are findings too.
- One run is one data point. Production state changes weekly. Re-running the same experiment is how you learn whether the fix held.
Response playbook
When a live experiment reveals a weakness:
- Freeze the experiment class. If the finding implies a wider blast radius than planned, stop running variants of that fault until it is fixed.
- Write up the finding within 24 hours. Fault injected, invariant breached, observed behavior, recovery time. Fresh detail decays fast.
- Quantify the production exposure. The report says the weakness exists; feature-flag exposure and traffic data say how many users are standing on it today.
- Fix the smallest real cause. Usually a missing timeout, a retry without backoff, or a failover path nobody had exercised. Ship the fix behind a flag if it is risky.
- Re-run the identical experiment. Same fault, same radius, same invariants. The re-run is the proof; the fix alone is a claim.
What it cannot detect
Failures you did not think to inject, and failures whose blast radius exceeds the experiment’s safety limits. The most dangerous production conditions are precisely the ones a responsible chaos program refuses to create — those remain observable only through incident correlation after nature provides them.
Related sensors
References
Publications
Tooling
- Chaos Engineering
- Chaos MeshKubernetes chaos engineering platform
- GremlinManaged chaos engineering service
- LitmusCloud-native chaos engineering