/ychaos

YChaos - The Resilience Framework by Yahoo!

Primary LanguagePythonApache License 2.0Apache-2.0

CI Pipeline codecov Python Support PyPi Code Style Documentation License

ychaos

YChaos is a self-serving chaos testing toolkit designed to provide users with all the capabilities of doing an end to end resilience testing of your service. YChaos is designed to give users a framework to validate, verify and attack your system to simulate real life failures that might cause outages in your service.

To get started with YChaos, refer to the documentation

Table of contents

  1. Background
  2. Install
  3. Usage
  4. Maintainers
  5. License

Background

The most important aspect of maintaining a web service on cloud infrastructure is to make it resilient from failures. Most of these failures are unexpected and are not tested while development. The service which is capable of handling an unexpected failure passes the criteria of a resilient service.

YChaos provides a self-serving framework to inject these unexpected failures into your service in the form of YChaos Agents and understand if your service is equipped to handle unknown failures either within the service or from a 3rd party service dependency.

Install

To install ychaos from PyPi,

pip install ychaos[<subpackage>]

The following subpackages are available for usage

  1. agents : pip install ychaos[agents]
  2. chaos : pip install ychaos[chaos]

To know more about each subpackage and what they do, refer to the documentation

You can also install the package from the source code.

git clone https://github.com/yahoo/ychaos
cd ychaos
pip install ".[<subpackage>]"

Usage

Refer to the documentation to know about the usage.

Maintainers

The Resilience Team @yahoo

License

This project is licensed under the terms of the Apache 2.0 open source license. Please refer to LICENSE for the full terms.