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.
@article{arxiv.1702.05843,
title = {Chaos Engineering},
author = {Ali Basiri and Niosha Behnam and Ruud de Rooij and Lorin Hochstein and Luke Kosewski and Justin Reynolds and Casey Rosenthal},
journal= {arXiv preprint arXiv:1702.05843},
year = {2017}
}