TL; DR : Chaos Monkey wurde 2010 bei Netflix entwickelt und 2012 als Teil der Simian Army in die Wildnis entlassen , die bei begeisterten Anhängern äußerst beliebt ist . Aufbauend auf den Prinzipien der Chaostechnik erhöht die Armee die Ausfallsicherheit, indem sie dem System ständigen Ausfall zufügt.
Konzept
Chaos Monkey wurde speziell für AWS entwickelt, bei dem Instanzen innerhalb einer Auto Scaling Group zufällig getötet werden. Es soll während der Geschäftszeiten ausgeführt werden, wenn Ingenieure alarmiert sind, und schnell auf festgestellte Fehler reagieren können.
Simian Armee
Angehörige der Armee würden das Chaos auf andere Weise säen :
Andere Affen sind hilfreich und entfernen die schwachen Mitglieder der Herde:
Conformity Monkey fährt Instanzen herunter, die nicht den Best Practices entsprechen.
Security Monkey sucht nach bekannten Sicherheitslücken in Konfiguration und Diensten.
Doctor Monkey fährt ungesunde Instanzen herunter, die bestimmten Metriken nicht entsprechen.
Hausmeister Monkey sucht nach ungenutzten Ressourcen, die zurückgefordert werden können.
Misserfolg ist unvermeidlich
Ein Ausfall des Systems ist unvermeidlich, es wird immer etwas schief gehen . Möglicherweise können Sie nicht auswählen, was, aber Sie können versuchen, wann auszuwählen. Indem Sie den ganzen Tag über kleine Fehler einführen, stellen Sie sicher, dass Ihre Ingenieure anwesend sind. Indem Sie nicht konforme Dienste schnell beenden, stellen Sie sicher, dass Fehler häufig vor der Bereitstellung auftreten. Indem Sie die Umgebung widersprüchlicher gestalten, stellen Sie sicher, dass es die Entwickler sind, die auf Probleme stoßen, lange bevor ein Service in die Produktion gelangt. In der Integrationsphase neuer Services mit den alten werden Fehler schnell sichtbar, aber das ist in Ordnung, da die alten Produktionsservices bereits ausfallsicher sind.
Vieh nicht Haustiere
In letzter Zeit wird Ihnen jeder sagen: Behandeln Sie Ihre Server nicht als Haustiere . Es gibt eine Macht in Zahlen und jede einzelne Fehlerstelle wird das System zum Erliegen bringen. Unabhängig davon, wie gut Sie Ihren Server optimieren und optimieren können, unabhängig davon, wie leistungsfähig die Hardware ist und wie viel sie bewältigt, wird sie niemals mit einer Herde kleiner skalierbarer Instanzen mithalten können. Chaos Monkey ermutigt dich, darüber nachzudenken, alle Fehlerquellen zu beseitigen, denn früher oder später wird der Affe kommen! Jeder scheitert und selbst das Amazon S3 hatte einen unvorhersehbaren Ausfall .
Anti-Fragile
Was ist die Theorie und warum funktioniert sie? Nassim Nicholas Taleb beschreibt in seinem Buch Antifragile ein Konzept, bei dem lebende selbstbewusste Systeme von einem geringen Grad an Zufälligkeit profitieren und angesichts von Widrigkeiten sogar besser werden. Dies ähnelt dem Tempern.
Er beschreibt auch einen evolutionären Weg, bei dem die Fragilität von Teilen in einem System in die Antifragilität des Ganzen übergeht . Die Übertragung erfolgt auf zwei Ebenen:
Durch eine kleine zufällige Variation - Entwickler, die Änderungen vornehmen - überleben und verbreiten die am besten für die Umgebung geeigneten - bestehen Sie Tests und werden bereitgestellt . Standard-Entwicklungslebenszyklus .
Durch das Versagen von Teilen, die einem größeren Grad an Zufälligkeit in der Umgebung nicht standhalten können, bilden die verbleibenden Teile, die dem Versagen standhalten konnten, ein System, das insgesamt besser in der Lage ist, mit sich ändernden Umgebungen umzugehen als zuvor. Dies ist im Wesentlichen Chaos Monkey .
Mit dem zweiten Ansatz kann größeren Zufälligkeiten widerstanden werden.