Chaos Engine is an application for creating random Chaos Events in cloud applications to test resiliency. It follows the Principles of Chaos to create random faults (experiments) that could reasonably occur in a real application deployment.
Chaos Engine makes intelligent decisions in how and when to create experiments. When properly configured, experiments can be restricted to occur only during normal business hours (i.e., no pager alerts).
Chaos Engine currently supports Amazon Web Services, Google Cloud Platform, Pivotal Cloud Foundry, and Kubernetes.
Running chaos experiments in a non-resilient system can result in significant faults. We highly recommend you use a graduated approach to chaos implementation, and build confidence in your development and staging environments before attempting the same in your production environment.
Resource Faults | Communication Faults | Application Faults | |
---|---|---|---|
Kubernetes | ✔️ | ✖️ | ✔️ |
Cloud Foundry | ✔️ | ✔️ | ✔️ |
AWS EC2 | ✔️ | ✔️ | ✔️ |
AWS RDS | ✖️ | ✔️ | ✖️ |
GCP Compute | ✔️ | ✔️ | ✔️ |
GCP Memorystore | ✖️ | ✔️ | ✖️ |
✔️ - Fully Supported | ✅ - Some Support | ✖️ - Not Supported | 🚧 - Planned
For more information on how these experiments are done, please refer to the full experiment modules documentation.
Chaos Engine does not specifically require the use of any other significant applications to already exist in your deployment. Each Cloud Platform is separately configured with access credentials.
The Chaos Engine instance runs in a Docker image, and will need network access to API endpoints for the appropriate platforms
See the documentation for more information.
Please see our documentation for configuration instructions.
Chaos Engine is being actively developed, but we welcome public participation. Please note that we have internal processes that may slow down or require alterations to any pull requests. We may also have internal development on similar features. You can contact us for more information.