Chaos Engineering ist die Disziplin, an einem System absichtlich Störungen zu erzeugen, um dessen Widerstandsfähigkeit zu testen. Die offizielle Definition der Principles of Chaos Engineering (2017) lautet: „Experimentieren an einem System, um Vertrauen in dessen Fähigkeit aufzubauen, turbulente Bedingungen im Produktivbetrieb zu überstehen.“ Es geht darum, Schwachstellen zu finden, bevor sie ein ungeplanter Vorfall aufdeckt.

Ursprung: Chaos Monkey bei Netflix

Den Anfang machte Netflix mit dem Open-Source-Tool Chaos Monkey (2011): Es beendete zufällig virtuelle Instanzen in der Produktion. Weil Ausfälle dadurch alltäglich wurden, mussten die Dienste so gebaut werden, dass sie den Verlust einzelner Instanzen ohne Nutzerauswirkungen verkraften — Redundanz und Automatisierung wurden zur Selbstverständlichkeit. Daraus entstand die Simian Army mit weiteren Werkzeugen wie Chaos Gorilla (Ausfall einer ganzen Availability Zone).

Prinzipien

Die vier Prinzipien des Chaos Engineering: (1) eine Steady-State-Hypothese definieren — eine messbare Kennzahl, die „normales“ Verhalten beschreibt, etwa die Latenz oder Fehlerrate; (2) die Hypothese in Experimenten mit realen, kurzen Störungen überprüfen; (3) die Experimente im Produktivbetrieb durchführen, wo das Verhalten wirklich relevant ist; (4) automatisieren, um Störungen kontinuierlich statt einmalig zu testen. Das Vorgehen folgt damit wissenschaftlicher Methodik statt willkürlichem Chaos.

Abgrenzung und Praxis

Chaos Engineering ist keine Sabotage, sondern kontrollierte Experimente mit definiertem „Blast Radius“ (Wirkungskreis). Es ergänzt Monitoring und Observability: Erst wenn man die Hochverfügbarkeit eines Systems kennt, kann man gezielt testen, ob sie unter Stress hält. Organisierte Störfallübungen nach dem Vorbild des Game Day nutzen Chaos-Engineering-Techniken, um das Team im Ernstfall zu trainieren. Die Erkenntnisse fließen in ein Postmortem und in die Aktualisierung des Runbooks ein. Auch ein Failover lässt sich so regelmäßig proben.

Verwandte Grundlagen: Hochverfügbarkeit, Availability Zone, Microservice.