  Modern software-based services are implemented as distributed systems with
complex behavior and failure modes. Many large tech organizations are using
experimentation to verify the reliability of such systems. We use the term
"Chaos Engineering" to refer to this approach, and discuss the underlying
principles and how to use it to run experiments.
