Last Updated: 4th November, 2019
The Principles of Chaos state that:
“Chaos Engineering is the discipline of experimenting on a system in order to build confidence in the system’s capability to withstand turbulent conditions in production.”
In accordance with these principles, Chaos Engineering is a discipline based on the scientific method that enables progress in system reliability, robustness and resilience through empirical learning. Scientific progress benefits from the potential for public discourse through openness in both experiments and experiment findings.
This document aims to propose that system reliability and resilience can also benefit from that same openness being applied to Chaos Engineering experiments and findings.
This document aims to suggest an idea and a plan that encourages the open community to embrace free and open standards to enable everyone to share, collaborate on and learn from chaos engineering.
Ideally an initiative is short-lived. Once the accompanying idea is effectively in the public domain and the plan has begun to be executed, this initiative can be retired in preference of the concrete outcomes from the proposed plan.
By defining Chaos Experiments and Findings as open standards it becomes possible to:
- Share experiments as articles of interest across teams, across organisations and even between organisations.
- Share experimental findings such that others can peer review and even suggest improvements and comparisons with their own findings based on similar experiments.
- Share, collaborate and enable collective learning on how to improve the resilience and technical robustness of systems.
Open standards for chaos engineering enables a collective learning foundation that supports an organisation's Resilience Engineering Capability. While it should always be possible to control access to Chaos Experiments and Findings, by proposing to define these two concepts in open standards we are making it possible for everyone to be able to share and learn through Open Chaos.
This initiative plans to:
- Define an open standard at the concept level for chaos engineering experiments.
- Define an open standard at the concept level for chaos experiment findings.
- Define a minimal, common, open and vendor neutral Chaos Service API.
- Initially to use the free and open source Chaos Toolkit’s Open API for Experiments and Findings concepts and documentation as a foundation and reference implementation of the open standards.
- Establish the necessary processes, working groups and/or organisational structures that ensures the continuous development of the standards created during this initiative.
Join the ongoing discussion of this initiative in the Chaos Community Google Group.
Translations: EN | FR (TBD) If you want to add a translation, please submit a pull request against the Github repository.