Comparison
Chaos engineeringvsFault injection
Chaos engineering
you deliberately kill an instance in production during working hours to find out whether the failover actually works.
Injecting controlled failures into a running system to verify that its resilience mechanisms work before an incident tests them. The value is in disproving assumptions: the retry that was never exercised, the replica that was never promoted. Doing it without a hypothesis, a blast radius limit and a stop button is not chaos engineering, it is an outage.
Full entry →Fault injection
you deliberately add two hundred milliseconds to one dependency in production and watch what the rest of the system does.
Introducing controlled failures — latency, errors, dropped packets, killed instances — to observe real behaviour rather than assumed behaviour. It is the mechanism a chaos exercise is built from, and it is most valuable in the small: injecting latency into one dependency reveals missing timeouts far more often than killing instances reveals anything. It requires a way to stop, which is why the blast-radius controls matter more than the experiment.
Full entry →