Modules 12–19 installed defenses; this module is how you find out whether they're real. Chaos engineering as controlled experimentation — steady-state hypotheses, minimal blast radius, automatic abort — plus the fault catalog mapped to the course, and the organizational path from first game day to continuous verification. Do this before conducting Module 26's drills: the capstone assumes the method.
Compresses to ~65 min. Motivation collapses; the experimental method (with the sim), the fault-to-module map, and the maturity path stay mandatory.
Fast trackThe five steps below are the entire discipline; everything else is tooling. Run the sim both ways.
| Fault to inject | Tooling shape | The defense on trial |
|---|---|---|
| Dependency latency (+N ms, the gray failure) | mesh/Envoy fault injection, Toxiproxy | slow-call breakers, bulkheads, deadline propagation (M13, M07) — the highest-yield first experiment |
| Dependency errors (5xx on X%) | mesh fault injection, chaos middleware | retry classification & budgets, fallback ladder (M12, M13) |
| Pod/instance kill | chaos-mesh/Litmus pod-kill, or kubectl | lifecycle correctness, registry staleness handling, PDBs (M29, M09, M08) |
| Network partition | netem/iptables, chaos-mesh netem | CP/AP behavior as designed (M03), quorum refusal (M30), split-brain guards (M11) |
| Dropped/duplicated/delayed messages | broker chaos, consumer-side injection | at-least-once handling, idempotency, DLQ flow, oldest-age alerts (M15, M16, M24) |
| Resource exhaustion (CPU/mem/disk/conn-pool) | stress-ng, cgroup squeezes, pool shrink | load shedding & admission control, bulkheads, JVM-under-throttle behavior (M14, M13, M29) |
| Clock skew | libfaketime, container time offset | token exp/nbf tolerance, cert validity, lease/TTL logic (M22, M21, M19) |
| Zone/region evacuation | traffic drain + scheduled game day | the M11 failover: RTO/RPO for real, cold-cache warming, fail-back (the drill that finds the hardcoded region name) |
| Expired cert / rotated key | short-lived cert in staging-prod mirror | rotation automation, JWKS overlap, the alert that should have fired at day 30 (M21, M22) |
Sequencing rule: start where your incident history points (for you: dependency latency and cache/invalidation faults — the 428 family), in the environment closest to production you can defend, and graduate each experiment toward production as its blast-radius controls prove out. Staging-only chaos validates staging; the goal, reached incrementally, is production — because that's where the real config, data volumes, and traffic mixes live.
Fast trackStep 1 (~45 min): one complete experiment, method and all, on your Week-3 lab stack — then take the method into M26.