Wer ist dieser Chaos Monkey und warum hat er meinen Server zum Absturz gebracht?

28

Ich hatte einen perfekten Server, er war so hübsch und absolut solide und so nannte ich ihn Petra. Es war in jeder Hinsicht perfekt, alles war genau richtig konfiguriert und abgestimmt, es hatte eine perfekte 100% -ige Serviceaufzeichnung und 753 Tage Betriebszeit. Ich habe viel Zeit und Mühe aufgewendet, um sicherzustellen, dass es so gut läuft. Kein anderer Server in der Firma war so gut gewesen. Aber letzte Nacht hat dieses böse Monster ohne Grund meinen Server zum Absturz gebracht.

Chaos-Affe

Natürlich wurde ich um 2 Uhr morgens benachrichtigt und es dauerte bis zum nächsten Morgen, bis alles konfiguriert und eingestellt war, aber ich fürchte, es wird nicht mehr so ​​gut wie zuvor. Es kann Wochen dauern, bis es wieder zu seinem früheren Glanz zurückkehrt. Jetzt ist meine Uptime vorbei, ich habe nicht einmal drei Neunen und wer weiß, was das für meinen Ruf bedeutet. Wer ist dieser Chaos-Affe und warum hat er das meinem Server angetan und warum versucht er mich zu ruinieren?

Jiri Klouda
quelle
12
Es muss ein Abzeichen für die lustigste Frage sein :)
Richard Slater
Einzelner Server? Was ist das? Warum sollten Sie Ihr Unternehmen auf ein einzigartiges Kunstwerk stützen, anstatt auf eine Ware, die einfach zu skalieren und zu ersetzen ist, wenn sie unvermeidlich ausfällt oder nicht mehr vermietet ist?
Keine Rückerstattung Keine Rückgabe
Ist dies für uns wirklich eine gute Frage, um die Site vorzubereiten? Erwarten wir von den Technikern, dass sie Chaos Monkey installieren, konfigurieren und ausführen und dann vergessen, was es ist, aber feststellen, dass es in ihrem Netzwerk ausgeführt wird, und auf Stack Exchange nachfragen, anstatt die offizielle Website zu besuchen? Es gibt so viele Schritte, die nicht plausibel sind.
Xiong Chiamiov
2
Offensichtlich ist es keine echte Frage. Es war ein Scherz, die Spitze des Felds darzustellen, der von der Industrie einfach übertroffen wurde. Ihre Kritik geht jedoch davon aus, dass nur eine Person oder gar ein Team für die Infrastruktur zuständig ist. In großen Unternehmen bleiben die vorhandene Infrastruktur und die vorhandenen Teams häufig bestehen, auch wenn sie ersetzt werden. Es ist durchaus plausibel, dass ein neues Team mit einer neuen Infrastruktur und Installation von Chaos Monkey begann und der alte Furz einfach zu einer Zeit getroffen wurde, als er nach anfänglichem Erfolg unternehmensweit eingesetzt wurde.
Jiri Klouda
Die offensichtliche Frage ist, wenn Sie einen solchen Server hatten, warum Sie Chaos Monkey eingerichtet haben.
user253751

Antworten:

32

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 :

  • Latency Monkey führt zu zufälligen Verzögerungen bei Diensten.

  • Chaos Gorilla (Kong) simuliert den Ausfall der gesamten Verfügbarkeitszone.

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:

  1. 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 .

  2. 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.

Jiri Klouda
quelle
"Misserfolg ist unvermeidlich" - großes Mantram!
Wogsland
Aufgestimmt, weil Sie Nassim Taleb erwähnt haben. Super kluger Kerl, und seine Ideen können im Grunde auf alles angewendet werden.
Maplebird
8

Einige Ergänzungen zu Ihrer eigenen Antwort auf diese Frage ...

Zusätzliche Affen

Der Artikel über " Wie Chaos die Leistung steigert " beschreibt einige weitere dieser Affen, dh:

  • 10-18 Monkey : Findet Konfigurations- und Laufzeitprobleme in Instanzen, die Kunden in mehreren Regionen bedienen.
  • Chaos Kong : simuliert einen Ausfall einer Amazonasregion.

Anmerkung: In demselben Artikel wird auch "Chaos Gorilla: Simuliert einen Ausfall einer Amazon-Verfügbarkeitszone" erwähnt, obwohl dies möglicherweise in "Chaos Kong: Simuliert einen Ausfall einer Amazon-Region" umbenannt wurde Chaos ! Bisher konnte ich dazu keine Bestätigung / Dokumentation finden, zumindest scheint es dafür kein Problem in der Problemwarteschlange zu geben . Eine undokumentierte Änderung könnte es bis zur Produktion auf Github geschafft haben ... Ggggggrrrrrreat!

Stelle deine eigenen Affen auf und benutze sie.

Gehen Sie zu Github, um Kontakt mit der Simian-Armee aufzunehmen (derselbe Link wie der allererste Link in Ihrer eigenen Antwort). Hier ist ein Zitat von dem, was Sie dort finden:

Simian Army besteht aus Diensten (Monkeys) in der Cloud, mit denen verschiedene Arten von Fehlern generiert, abnormale Zustände erkannt und unsere Überlebensfähigkeit getestet werden können. Das Ziel ist es, unsere Cloud sicher und hochverfügbar zu halten. Weitere Details finden Sie in diesem Blog .

Derzeit gehören zu den Affen Chaos Monkey , Janitor Monkey und Conformity Monkey .

Beachten Sie die Schnellstartanleitung , um loszulegen Einrichtung und mit den Affen.

Sie können die Monkyes sogar so konfigurieren , dass sie Ihren geschäftlichen Anforderungen entsprechen.

Wenn Sie innerhalb dieser Github-Links (dh innerhalb des Support- Links) tief genug graben , finden Sie auch einen Link, um der SimianArmy Google-Gruppe beizutreten .

Pierre.Vriens
quelle
Chaos Kong wurde in Chaos Gorilla umbenannt, glaube ich oder umgekehrt.
Jiri Klouda
@ JiriKlouda Sie scheinen zu bestätigen, worüber ich mich zu wundern begann. Deshalb habe ich jetzt auch meine Bemerkung in meine Antwort aufgenommen.
Pierre.Vriens
2

Ein Server, um sie alle zu regieren, ein Server, um sie zu finden,
ein Server, um sie alle zu bringen und sie bei einem Ausfall zu binden

Sie, Sauron, haben diesen einen Server in der Dunkelheit des Mount Doom in Ihrem Rechenzentrum geschmiedet, in dem Wunsch, alle Anwendungen zu regieren.
Hoffentlich hat sich die Fellowship of Devops zusammengeschlossen, um Ihnen Folgendes zu sagen:

Gandalf - Du sollst PAAS

Nach einem langen Kampf ist es Frodo the Chaos Monkey gelungen, Ihren One Server zum Schmelzen zu bringen und Freiheit für alle Anwendungen zu schaffen, sodass Sie gleichzeitig zu reproduzierbaren Servern gelangen.

Credits:

Tensibai
quelle