Marktübersicht: Chaos Engineering für die Cloud
Chaos Engineering simuliert Fehler in verteilten Systemen mit dem Ziel, ihre Resilienz zu erhöhen und Administratoren besser auf Ausfälle vorzubereiten.
- Frank Pientka
Je mehr Prozesse und Anwendungen in die Cloud wandern, umso größer wird das Risiko von Ausfällen. Nicht immer muss es zu kompletten Ausfällen ganzer Regionen kommen, aber wenn kritische Dienste ausfallen, kann das große Schäden verursachen. Mit Chaos Engineering lassen sich Fehler in verteilten Systemen simulieren, um sich auf mögliche Ausfallszenarien besser vorzubereiten. Dafür existieren unterschiedliche Werkzeuge.
Das berühmteste unter ihnen ist Chaos Monkey von Netflix. Als großer und weltweiter AWS-Nutzer war Netflix schon recht früh von Ausfällen bei AWS betroffen und hat deshalb Prinzipien und Praktiken entwickelt, wie man Fehler in verteilten Systemen testen und damit besser umgehen kann. Entstanden ist mit Chaos Monkey das erste Werkzeug, das Ausfälle simuliert und die Wirksamkeit von Gegenmaßnahmen prüft. 2011 von Netflix als Open Source veröffentlicht, wurde es zusammen mit ersten Artikeln und Büchern zur Grundlage des Chaos Engineering. Zusammen mit Chaos Kong und Chaos Gorilla bildet Chaos Monkey die Suite Simian Army, die heute aber nur noch von geringer Bedeutung ist, da es mittlerweile ausgereiftere Plattformen und Dienste für Chaos-Experimente gibt.
- Ausfälle in verteilten Systemen wie Kubernetes-Clustern oder in der Cloud gehören zum Alltag.
- Mit Chaos Engineering können Administratoren kontrolliert Fehler im System simulieren, um deren Auswirkungen und die Wirksamkeit von Schutzmaßnahmen zu testen.
- Ziel von Chaos Engineering ist es, verteilte Systeme resilienter zu gestalten und Admins besser auf Ausfälle vorzubereiten.
- Werkzeuge helfen, die Chaos-Experimente umzusetzen.
- Wichtigste Voraussetzung für einen hohen Nutzen von Chaos Engineering ist eine geeignete Fehlerkultur.
Verwandt mit dem Chaos Engineering sind die Disziplinen Business Continuity and Disaster Recovery (BCDR) und Site Reliability Engineering (SRE). Eine wichtige Grundlage bildet dabei die Automatisierung und das Verwenden von DevOps-Pipelines, um eine Wiederholbarkeit und Nachvollziehbarkeit der Experimente zu gewährleisten. Die DORA-Reports von Google Cloud zeigen, dass immer mehr Unternehmen SRE-Praktiken anwenden, um ihre Resilienz und Zuverlässigkeit über eine geringere Change Failure Rate (CFR) und einen schnellen Time to Restore Service (MTTR) zu verbessern. Neben Büchern und Artikeln zur reinen Wissensvermittlung gibt es Workshops, in denen man die Chaos-Engineering-Techniken einüben kann.
Das war die Leseprobe unseres heise-Plus-Artikels "Marktübersicht: Chaos Engineering für die Cloud ". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.