Cloud Erfahrungen: 5 Erkenntnisse der Nutzung von Amazon AWS durch Netflix

Cloud

Sie wollen in die Cloud? Laut Netflix benötigen Sie u.a. einen Chaos-Affen. Netflix ist nach eigenen Beschreibungen mit mehr 23 Mio. Mitgliedern in den USA und Canada der weltweit führende Online-Provider für das Streamen von Filmen und TV-Shows. Im Techblog von Netflix hat John Ciancutti, Vice President of Engineering vor einiger Zeit 5 Schlüsselerfahrungen im Umgang mit den Amazon Web Services – AWS beschrieben. AWS ist eine der Top 5 Architekturen die heutzutage gerne als Cloud bezeichnet werden. Folgend mehr Details und die Antwort auf die Frage warum man einen Chaos-Affen braucht.


Die Cloud verkörpert eine fundamentale Bewegung im Denken über IT-Resourcen zur Bereitstellung von digitalen Diensten. Es wird viel darüber geredet und geschrieben, für einige Techniker und IT-Entscheider scheint sie das gelobte Land zu sein, Leute wie Scott McNealy (Ex-CEO von Sun Microsystems) hatten schon vor Jahren behauptet das Netz sei der Computer.
Einer der Top-Provider für Cloud-Services ist Amazon mit seinen Web Services AWS. Hochvolumige Websites wie beispielsweise reddit.com sind bereits Kunden dieser Dienste. Der „technische Direktor“ von Netflix John Ciancutti hat neulich einige Erkenntnisse preisgegeben:

1. Dorothy, Du bist nicht mehr in Kansas

Wenn man gewohnt ist, seine Applikationen auf den eigenen Architekturen zu entwickeln und zu betreiben muß man einiges „entlernen“. Man muß versuchen die neuen Verhältnisse in der Cloud zu verstehen und für sich nutzbar zu machen. Als konkretes Beispiel nennt Ciancutti Session-basiertes Speichermanagement, welches sich für die eigenen Datencenter gut eignete, jedoch für die AWS wegen der höheren Ausfallrate nicht so geeignet sei.
Ein weiteres Beispiel ist die Verlässlichkeit und Qualität des Netzwerks, mit dem im Netflix Datencenter wesentlich freizügiger umgegangen wurde als dies auf den AWS angebracht ist.

2. Mitmieter sein ist hart

Wenn man Software mit einer sichtbaren Schnittstelle zum Endnutzer betreibt, dreht sich sehr viel um Latenz und um die Vermittlung des Gefühls ansprechender Reaktionsgeschwindigkeit. Mitmieter können eine Varianz an Durchsatz auf allen Ebenen der Architektur erzeugen. Ciancutti schreibt es sei das Beste, Ausfälle auf allen Ebenen zu erwarten und sich darauf einzustellen, was uns zu der nächsten Erkenntnis führt:

3. Der beste Weg Ausfall zu vermeiden ist dauernd auszufallen

Sie hätten die Netflix Software auf den AWS gerne auch mal als Rambo Architektur beschrieben. Jedes System sei in der Lage weiterzulaufen, egal was, auch wenn nur noch es selbst läuft. Wenn das Empfehlungssystem nicht mehr läuft werden dem Nutzer anstatt dessen populäre Titel angezeigt. Wenn die Suche ausfällt sollte das Streaming trotzdem problemlos weiterlaufen.

Eines der ersten Systeme welches die Netflix Ingenieure in den AWS bauten nennt sich „Chaos Affe“. Die Aufgabe des Chaos-Affen ist es zufällig Instanzen und Dienste zu beenden. Wenn man nicht laufend seine Architektur auf Fehlertoleranz testet, ist es unwahrscheinlich dass sie Fehler tolerieren wenn es darauf ankommt.

4. Lerne in den echten Größenordnungen, nicht anhand von Spielzeugmodellen

Vor der Auswahl von Amazon AWS als Architektur wurden viele Tests durchgeführt. Das war wichtig für die Auswahl von Amazon AWS hat sich im nachhinein aber nicht als so informativ herausgestellt wie erwartet. Erst als Realweltdaten und -volumina zum Einsatz kamen hat dies zu den gewünschten Erkenntnissen geführt.
Netflix setzt das Ausprobieren neuer Technologien innerhalb der AWS fort. Wenn sie beispielsweise NoSQL Einsätze in Erwägung ziehen probieren sie dies an einem echten Datenspeicher aus.

5. Lege dich fest
Es war ein steiniger Weg. AWS ist erst einige Jahre alt, darin ein hoch skalierendes System zu etablieren ist eine bahnbrechende Unternehmung. CEO Reed Hastings habe die Migration nicht nur voll unterstützt, sondern sie auch angeregt.

AWS sei eine unglaubliche Gruppe von Diensten, welche laufend besser würden. Große Firmen laufen darauf, Sie könnten das auch!

Hier geht es zum Original des Blogeintrags in Englisch.

Sollten Sie Fragen zum Thema haben oder einen Wechsel ihrer Softwarearchitektur in die Cloud in Erwägung ziehen, scheuen Sie nicht mich zu kontaktieren.