Fault Injection
Kill a node. Drop a network connection. Inject latency. A sensor of resilience — does the system continue to satisfy its invariants under partial failure?
Chaos as a sensor
Fault injection (chaos engineering) is an adversarial sensor that tests whether the system’s runtime invariants hold when dependencies fail. It operates at the system level, not the function level — you’re testing the emergent behavior of distributed components under stress.
Sensor properties
| Property | Value |
|---|---|
| Oracle strength | Medium — depends on what invariants you check |
| Independence | High — failures are injected externally |
| Scope | System-level |
| Feedback latency | Minutes |
| Actionability | Guiding — shows which invariant broke under which failure |
| Type | Adversarial |
What it cannot detect
Fault injection can only test failure modes you thought to inject. Unknown failure modes (cascading failures from unexpected coupling) require observability to detect in production.