Chaos engineering toolkit
Project description
# chaostoolkit
[![Build Status](https://travis-ci.org/chaostoolkit/chaostoolkit.svg?branch=master)](https://travis-ci.org/chaostoolkit/chaostoolkit) [![Docker Pulls](https://img.shields.io/docker/pulls/chaostoolkit/chaostoolkit.svg)](https://hub.docker.com/r/chaostoolkit/chaostoolkit/) [![Python versions](https://img.shields.io/pypi/pyversions/chaostoolkit.svg)](https://www.python.org/) [![Requirements Status](https://requires.io/github/chaostoolkit/chaostoolkit/requirements.svg?branch=master)](https://requires.io/github/chaostoolkit/chaostoolkit/requirements/?branch=master) [![Has wheel](https://img.shields.io/pypi/wheel/chaostoolkit.svg)](http://pythonwheels.com/)
A chaos engineering toolkit for your system and microservices.
## Context and Purpose
The chaostoolkit aims at making it simple and straightforward to run experiments against your live system to observe its behavior and learn about potential weaknesses.
- The idea is that your system is complex and no matter how well you planned
and designed, it would be challenging to claim anyone knows how it would react under certain conditions.
Following in the steps of giants like Netflix or LinkedIn, we believe in the [principles of chaos engineering][principles]. Creating the conditions to stress your system should help your team become better at handling those situations while allowing your system to evolve nicely.
[principles]: http://principlesofchaos.org/
The chaostoolkit is, as its name implies, a toolkit for you to run those experiments at the platform and/or application level. For instance, by killing a microservice, your experiment could probe the system for other services and see the impact of tsuch a failure.
The goal is not to break things, though this is one way to run an experiment, but to create the conditions of stress that can make you learn from your system.
## Getting Started
chaostoolkit is a command line tool that runs your experiment, then generates a report to share with your team for discussion.
Running an experiment is as simple as:
` $ chaos run experiment.json `
chaostoolkit takes your experiment as a description file, encoded in JSON, and runs its steps sequentially.
Please, read the main documentation to [install chaostoolkit][install] and learn more about it.
[install]: https://chaostoolkit.github.io/chaostoolkit/usage/install/
## Extend
The Chaos Toolkit command plays the experiment you feed it. Experiments are made of probes and actions which you can implement yourself whenever existing ones do not fit the bill.
chaostoolkit supports probes and actions implemented as Python function, processes or remote HTTP calls. As long as they obey the Chaos Toolkit API, they are good to be applied as part of your experiment.
## Learn More
chaostoolkit is open and [you are more than welcome][join] to discuss and share your experiments with its community.
[join]: https://join.chaostoolkit.org/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chaostoolkit-0.2.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ba3bd4e56bb77dbfe59430600d02755084e48ca3be3caa658cc0b2fe8c3acad |
|
MD5 | 25378a0a715e826c95428f1678d59fb8 |
|
BLAKE2b-256 | da61c0d7dd6026fb777e4d4daf7be90c92e27207965a4274a27d0593c7bb04c2 |