Chaos Monkey is a resiliency tool that randomly terminates virtual machine instances and containers running in production environments to help applications tolerate failures.
The tool addresses the problem of services that lack resilience by deliberately injecting failure into production systems. By randomly killing instances, it exposes engineers to real-world failure scenarios during normal operations, encouraging them to design systems that can withstand such disruptions. This approach follows the Principles of Chaos Engineering and makes failure a regular part of the development and operational workflow rather than an unexpected crisis.
Chaos Monkey is suited for teams already using Spinnaker for continuous delivery, as the tool is fully integrated with that platform and requires it for operation. It works with any backend that Spinnaker supports, including AWS, Google Compute Engine, Azure, Kubernetes, and Cloud Foundry, though it has been tested specifically with AWS, GCE, and Kubernetes. Organizations should adopt this tool if they want to systematically validate their application resilience and build a culture where engineers proactively design for failure rather than assuming infrastructure stability.
The project maintains active engagement with its user community through a dedicated support group. Development activity shows consistent attention to the tool's core functionality and its integration with the broader Spinnaker ecosystem. The codebase is written in Go, reflecting a focus on building a lightweight, efficient binary suitable for production deployment.