Home

Awesome

Chaos Engine

Sanity CI Quality Gate Status Lines of Code Coverage Security Rating Reliability Rating Known Vulnerabilities

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).

Supported Platforms

Chaos Engine currently supports Amazon Web Services, Google Cloud Platform, Pivotal Cloud Foundry, and Kubernetes.

:warning: Warning

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.

Capabilities

Resource FaultsCommunication FaultsApplication Faults
Kubernetes:heavy_check_mark::heavy_multiplication_x::heavy_check_mark:
Cloud Foundry:heavy_check_mark::heavy_check_mark::heavy_check_mark:
AWS EC2:heavy_check_mark::heavy_check_mark::heavy_check_mark:
AWS RDS:heavy_multiplication_x::heavy_check_mark::heavy_multiplication_x:
GCP Compute:heavy_check_mark::heavy_check_mark::heavy_check_mark:
GCP Memorystore:heavy_multiplication_x::heavy_check_mark::heavy_multiplication_x:

Legend

:heavy_check_mark: - Fully Supported | :white_check_mark: - Some Support | :heavy_multiplication_x: - Not Supported | :construction: - Planned

For more information on how these experiments are done, please refer to the full experiment modules documentation.

Requirements

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.

Getting Started

Please see our documentation for configuration instructions.

Contributing

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.

Demo Video

Chaos Engine Introduction

Contact

You can e-mail us, or find us on Slack.