Chaos Engineering

Experimenting on a system to build confidence in its capability to withstand turbulent conditions.

Principles of Chaos

  • Define Steady State: Know what "normal" looks like via metrics.
  • Hypothesize: "If I kill one database node, the system should failover in 2 seconds."
  • Inject Faults: Network latency, packet loss, server crashes.
  • Verify: Did the system behave as expected?

Tools

Chaos Monkey, Gremlin, LitmusChaos, AWS Fault Injection Simulator.