Tag: Netflix


Kennen Sie Chaos Engineering? – Oder warum Ihre Sichtweise auf die moderne IT falsch sein könnte

  • Chaos Engineering sollte wichtiger Bestandteil moderner DevOps und SRE Praxis sein. Ohne proaktive Schwachstellensuche kommt es zu vielen Ausfällen.
  • Tests unterscheiden sich vom Chaos Engineering im Blickwinkel. Während Tests Wissen und Erfahrungen bestätigen und Fehler aufdecken, basiert das Chaos Engineering auf einem experimentellen Ansatz, welcher Hypothesen überprüft.

Continue reading “Kennen Sie Chaos Engineering? – Oder warum Ihre Sichtweise auf die moderne IT falsch sein könnte” »



Multi-Cloud-Architekturen sind die Realität: Microservices sind die Lösung

Das Thema Multi-Cloud-Sourcing nimmt auch in Deutschland immer mehr Fahrt auf. Bereits über 12 Prozent der deutschen mittelständischen Unternehmen beschäftigen sich heute mit dieser Deployment-Variante. In Zukunft planen 36 Prozent der mittelständischen IT-Entscheider mit Multi-Cloud-Architekturen. Dies aus guten Gründen. Einerseits sollte kein Unternehmen alle seine Eier in ein Nest packen. Anderseits existiert der von den Anbietern oft proklamierte One-Stop-Cloud-Shop derzeit nicht - weder wird er in der Zukunft existieren.

Continue reading “Multi-Cloud-Architekturen sind die Realität: Microservices sind die Lösung” »



Cloud Rockstar 2013: Netflix ist der unangefochtene König des Cloud Computing

Ich denke es ist an der Zeit ein Unternehmen für seine Arbeit in der Cloud zu adeln. Anders als man nun vielleicht vermutet, handelt es sich nicht um einen der Anbieter. Nein! Auch wenn es die Anbieter sind, die erst die Möglichkeiten schaffen, sind es die Kunden, die letztendlich etwas daraus machen und der Öffentlichkeit die Macht der Cloud zeigen. Dabei muss man selbstverständlich die gewöhnlichen Kunden von denjenigen unterschieden, die sehr viel Engagement zeigen und sich von der Denkweise und damit auch architektonisch der Cloud angepasst haben. Um es vorweg zu nehmen, bei dem König der Cloud handelt es sich um Netflix und hier insbesondere um Adrian Cockroft, den Vater der Netflix Cloud-Architektur.

Geboren für die Cloud

Bevor sich Netflix für den Einsatz seines Systems in der Cloud entschieden hat (Migration von einer eigenen Infrastruktur), verbrachte das Unternehmen viel Zeit damit, um die Cloud zu verstehen und ein Test-System innerhalb der Cloud-Infrastruktur aufzubauen. Dabei wurde insbesondere darauf geachtet, soviel realistischen Traffic bzw. Traffic Szenarien wie möglich zu erzeugen, um damit das Test-System auf seine Stabilität hin zu prüfen.

Anfangs entwickelte Netflix dazu einen einfachen Repeater, der die echten und vollständigen Kundenanfragen auf das System innerhalb der Cloud Infrastruktur kopierte. Damit identifizierte Netflix die möglichen Engpässe seiner Systemarchitektur und optimierte im Zuge dessen die Skalierbarkeit.

Netflix selbst bezeichnet seine Software Architektur gerne auch als Rambo Architektur. Das hat den Hintergrund, dass jedes System unabhängig von den anderen Systemen einwandfrei funktionieren muss. Dazu wurde jedes System innerhalb der verteilten Architektur so entwickelt, dass es darauf vorbereitet ist, dass andere Systeme zu denen eine Abhängigkeit besteht, ausfallen können und das dieses toleriert wird.

Sollte das Bewertungssystem ausfallen, verschlechtert sich zwar die Qualität der Antworten, aber es wird dennoch eine Antwort geben. Statt personalisierten Angeboten werden dann nur bekannte Titel angezeigt. Sollte das System, dass für die Suchfunktion zuständig ist, unerträglich langsam sein, muss das Streaming der Filme trotzdem einwandfrei funktionieren.

Chaos Monkey: Der heimliche Star

Eines der ersten Systeme das Netflix auf bzw. für die Cloud entwickelt hat, nennt sich "Chaos Monkey". Sein Job ist es, zufällig Instanzen und Services innerhalb der Architektur zu zerstören. Damit stellt Netflix sicher, dass alle Komponenten unabhängig voneinander funktionieren, selbst dann wenn Teil-Komponenten ein Problem haben.

Neben dem Chaos Monkey hat Netflix viele weitere Monitoring und Test-Tools für den Betrieb seines Systems in der Cloud entwickelt, die das Unternehmen als "The Netflix Simian Army" bezeichnet.

Netflix Simian Army: Das Vorbild

Die Simian Army von Netflix ist ein Extrembeispiel, wie eine Cloud Architektur auszusehen hat. Das Unternehmen hat viel Zeit, Anstrengungen und Kapital in die Entwicklung seiner Systemarchitektur investiert, die auf der Cloud Infrastruktur der Amazon Web Services läuft. Aber es lohnt sich und jedes Unternehmen, das die Cloud ernsthaft nutzen möchte und ein hochverfügbares Angebot präsentieren will, sollte sich Netflix unbedingt zum Vorbild nehmen.

Der Aufwand zeigt die Komplexität der Cloud

Unterm Strich ist zu sagen, dass Netflix für den Fehlerfall vorausschauend plant und sich nicht auf die Cloud verlässt. Denn irgendwas läuft auch mal in der Cloud schief, wie in jedem gewöhnlichen Rechenzentrum. Mann muss nur darauf vorbereitet sein.

Netflix zeigt sehr eindrucksvoll das es funktioniert. Wenn man jedoch bedenkt, was für einen Aufwand Netflix betreibt, um in der Cloud erfolgreich zu sein, muss man einfach sagen, dass Cloud Computing nicht einfach ist und eine Cloud Infrastruktur, egal bei welchem Anbieter, mit der entsprechenden Architektur aufgebaut werden muss. Das bedeutet im Umkehrschluss, dass die Nutzung der Cloud simpler werden muss, um auch die versprochenen Kostenvorteile zu erzielen. Denn wenn man Cloud Computing richtig nutzt, ist es zwangsläufig nicht günstiger. Neben den Einsparungen der Infrastrukturkosten die immer vorgerechnet werden, dürfen niemals die weiteren Kosten z.B. für das Personal mit den notwendigen Kenntnissen und die Kosten für die Entwicklung der skalierbaren und ausfallsicheren Applikation in der Cloud vernachlässigt werden.

Erfolgreich und sozial zugleich

Die meisten Unternehmen behalten ihren Erfolg für sich. Der Wettbewerbsvorteil wird ungerne aus der Hand gegeben. So nicht Netflix. In regelmäßigen Abstand werden Teile aus der Simian Army unter der Open-Source Lizenz veröffentlicht, mit denen jeder Cloud Nutzer die Möglichkeit erhält eine Cloud-Applikationen mit der Architektur DNA von Netflix zu entwickeln.

Cloud Rockstar 2013

Auf Grund seines Erfolgs und insbesondere seines Engagement in und für die Cloud, ist es an der Zeit, Netflix öffentlich zu adeln. Netflix hat es verstanden, die Cloud quasi in Perfektion zu nutzen und den Erfolg nicht für sich zu behalten. Stattdessen gibt das Unternehmen anderen Cloud-Nutzern die Möglichkeit, mit denselben Tools und Services eine ähnlich hochskalierbare und hochverfügbare Cloud-Applikationen aufzubauen.

Netflix wird damit von den Analysten von New Age Disruption und CloudUser.de zum "Cloud Rockstar 2013" in der Kategorie "Bester Cloud Nutzer" ernannt. Dieser unabhängige Award von New Age Disruption wird in diesem Jahr zum ersten Mal vergeben und zeichnet Anbieter als auch Anwender für ihre Innovationen und das außergewöhnliche Engagement im Cloud Computing aus.

Herzlichen Glückwunsch Netflix und Adrian Cockroft!

René Büst

Cloud Rockstar 2013 - Netflix

Weitere Informationen: Cloud Rockstar Award



Cloud Computing ist nicht einfach!

Cloud Computing verspricht vermeintlich einfach zu sein. Hier und da einen virtuellen Server starten und fertig ist die eigene virtuelle Cloud Infrastruktur. Wer nun meint, dass ich mit der Aussage recht habe, der liegt dermaßen falsch. Virtuelle Server sind nur ein kleiner Bestandteil einer virtuellen Infrastruktur bei einem Cloud Anbieter. Ein paar virtuelle Maschinen machen noch lange keine Cloud. Die Komplexität liegt in dem, wie die Architektur der Applikation geschaffen ist. Und somit in der Intelligenz, die der Architekt und der Softwareentwickler ihr vereinleibt. Das dies manchmal nicht so umgesetzt wird, haben uns die einen oder anderen Cloud Nutzer nicht nur einmal eindrucksvoll gezeigt. Regelmäßig fallen immer die selben Verdächtigen aus, wenn deren Cloud Anbieter mal wieder mit sich selbst zu kämpfen hat. Cloud Computing ist nicht einfach! Ich meine hiermit nicht simples Software-as-a-Service (SaaS). Ich spreche von Infrastructure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS) und hier sogar noch granular von der Königsklasse namentlich Skalierbarkeit und Hochverfügbarkeit. Und genau das sollte man Abseits des Marketing der Cloud Anbieter verstehen und uneingeschränkt berücksichtigen, wenn man Cloud Computing erfolgreich einsetzen möchte.

Software-defined Scalability und Software-defined High-Availability

Derzeit kursieren wieder neue Begriffe durch die IT-Stratosphäre. Software-defined Networking (SDN) und auch Software-defined Datacenter (SDD). Ein SDN führt eine weitere Abstraktionsebene oberhalb der Netzwerkkomponenten ein. Typischerweise besitzt jeder Router und Switch seine eigene lokale Software, über die er per Programmierung mit Intelligenz versorgt wird. Der Netzwerkadministrator sagt dem Router somit bspw. welches Paket unter welchen Bedingungen wohin geleitet werden soll oder auch nicht. Innerhalb eines SDN entfällt die Aufgabe jeder einzelnen Komponente für sich eine lokale Intelligenz einzuverleiben. Die Intelligenz wandert eine Ebene höher in eine Managementschicht, in der das gesamte Netzwerk designed wird und die einzelnen Regeln für jede Komponente zentral festgelegt wird. Ist das Design fertiggestellt, wird es über die Netzwerkkomponenten ausgerollt und das Netzwerk ist konfiguriert. Mit SDN soll es daher möglich sein ein vollständiges Netzwerkdesign "per Knopfdruck" zu verändern, ohne jede einzelne Komponente direkt anfassen zu müssen.

Die Idee des SDN Konzepts muss bei der Nutzung einer Cloud-Infrastruktur ebenfalls zwingend in Betracht gezogen werden. Denn der Einsatz eines PaaS aber noch viel mehr eines IaaS bedeutet sehr viel Eigenverantwortung. Mehr als man auf dem ersten Blick denken mag. Eine oder zwei virtuelle Maschinen zu starten bedeutet nicht, dass man eine virtuelle Cloud Infrastruktur nutzt. Es sind und bleiben zwei virtuelle Server. Ein IaaS Anbieter stellt darüber hinaus nur die Komponenten, wie die genannten virtuellen Maschinen, Speicherplatz, weitere Services und zusätzlich APIs bereit, mit denen die Infrastruktur genutzt werden kann. Unterm Strich lässt sich vereinfacht sagen, dass ein IaaS Anbieter seinen Kunden nur die Ressourcen und entsprechenden Werkzeuge zur Verfügung stellt, um damit auf seiner Cloud Infrastruktur eine eigene virtuelle Infrastruktur respektive ein eigenes virtuelles Rechenzentrum aufzubauen.

Man muss daher per Software (die eigene Applikation) selbst dafür sorgen, dass die Cloud Infrastruktur bei Bedarf skaliert (Software-defined Scalability, SDS) und im Falle eines Ausfalls einer Cloud Infrastruktur-Komponente berücksichtigen, dass entsprechend eine Ersatzkomponente (z.B. virtuelle Maschine) gestartet wird und die Ausgefallene damit ersetzt wird (Software-defined High-Availability, SDHA). Die Software sorgt also für die Skalierbarkeit und Hochverfügbarkeit der genutzten virtuellen Cloud Infrastruktur, damit die Web-Applikation selbst skaliert und ausfallsicher ist und den Charakter der jeweiligen Cloud eines Anbieters nutzt und das Maximum aus ihr schöpft.

Wie eine Cloud Computing Infrastruktur quasi in Perfektion genutzt wird zeigt Netflix eindrucksvoll.

Cloud Computing ist nicht einfach! Begreif's doch endlich, ...

Quelle: Adrian Cockcroft

Netflix das Paradebeispiel

Netflix ist mit Abstand der größte Cloud Service weltweit. Der Video-Streaming Dienst ist während Spitzenzeiten mittlerweile für ein Drittel des gesamten Internetverkehrs verantwortlich. Diese Nutzeranfragen gilt es selbstverständlich performant und zu jedem Zeitpunkt zu beantworten. Dazu setzt Netflix schon seit seinem Start im Jahr 2009 auf Cloud Technologien und hat im November 2012 seinen vollständigen Technologie-Stack und die darauf basierende Infrastruktur in die Cloud zu den Amazon Web Services verlagert. Hier laufen rund 1.000 virtuelle auf Linux basierende Tomcat Java Server und NGINX Web-Server. Hinzu kommen weitere Services wie Amazon Simple Storage Service (S3) und die NoSQL Datenbank Cassandra in Verbindung mit Memcached sowie ein verteiltes Memory Object Caching.

Das ist jedoch nur die eine Seite der Medaille. Viel wichtiger ist die Nutzung mehrerer Availability Zones in der Amazon Cloud. Netflix nutzt insgesamt drei Availability Zones, um die Verfügbarkeit und Geschwindigkeit des eigenen Service zu erhöhen. Tritt in einer Availability Zone ein Problem auf, ist die Architektur der Netflix-Applikation so ausgelegt, dass der Service durch die anderen beiden weiterlaufen kann. Dabei hat Netflix sich nicht auf die reinen Marketing-Versprechen von Amazon verlassen, sondern mit dem Chaos Gorilla selbst eine eigene Software entwickelt, mit der die Stabilität der virtuellen Server Amazon Elastic Compute Cloud (EC2) getestet wird. Kurzum wird dabei der Ausfall einer kompletten EC2 Region bzw. Availability Zone simuliert, um sicherzustellen, dass der Netflix-Service im Ernstfall weiterhin funktioniert. Eine der größten Herausforderungen besteht dabei darin, dass im Falle eines Fehlers in einer Amazon Zone, das Domain Name System (DNS) automatisch neu konfiguriert wird, damit die Netflix Kunden von dem Ausfall nichts mitbekommen. Die unterschiedlichen APIs der DNS-Anbieter machen die Aufgabe hier allerdings nicht einfacher. Zudem sind die meisten so entwickelt worden, dass die Einstellungen noch manuell vorgenommen werden müssen, was es nicht einfacher macht, dies zu automatisieren.

Unterm Strich ist zu sagen, dass Netflix für den Fehlerfall vorausschauend plant und sich nicht auf die Cloud verlässt. Denn irgendwas läuft auch mal in der Cloud schief, wie in jedem gewöhnlichen Rechenzentrum auch. Mann muss nur darauf vorbereitet sein. Wer sich mehr dafür interessiert, was Netflix macht um diesen Zustand zu erreichen sollte "Netflix: Der Chaos Monkey und die Simian Army – Das Vorbild für eine gute Cloud Systemarchitektur" lesen.

Die Einfachheit zählt

Vielleicht verlange ich noch zu viel. Schließlich ist Cloud Computing in seiner Form ein relativ junges Konzept. Dennoch zeigt Netflix eindrucksvoll das es funktioniert. Wenn man jedoch bedenkt, was für einen Aufwand Netflix betreibt, um in der Cloud erfolgreich zu sein, muss man einfach sagen, dass Cloud Computing nicht einfach ist und eine Cloud Infrastruktur, egal bei welchem Anbieter, mit der entsprechenden Architektur aufgebaut werden muss. Das bedeutet im Umkehrschluss, dass die Nutzung der Cloud simpler werden muss, um auch die versprochenen Kostenvorteile zu erzielen. Denn wenn man Cloud Computing richtig nutzt, ist es zwangsläufig nicht günstiger. Neben den Einsparungen der Infrastrukturkosten die immer vorgerechnet werden, dürfen niemals die weiteren Kosten z.B. für das Personal mit den notwendigen Kenntnissen und die Kosten für die Entwicklung der skalierbaren und ausfallsicheren Applikation in der Cloud vernachlässigt werden.

Das erfreuliche ist, dass ich erste Startups am Horizont sehe, die sich der Problematik annehmen und den einfachen Bezug von fertigen Cloud Ressourcen, ohne als Nutzer selbst auf Skalierbarkeit und Hochverfügbarkeit achten zu müssen, zu ihrer Aufgabe gemacht haben.



Netflix veröffentlicht seinen Chaos Monkey

Netflix hat den Quellcode für seinen Chaos Monkey veröffentlicht. Das schreiben Cory Bennett und Ariel Tseitlin auf dem Netflix-Blog. Unternehmen die ernsthaft Systemarchitekturen in der Cloud der Amazon Web Services (AWS) betreiben wollen und sich auf Ausfälle von AWS vorbereiten möchten, sollten auf den Chaos Monkey zurückgreifen, um das eigene System zu stabilisieren.

Der Chaos Monkey

Der Chaos Monkey ist ein Service der auf den Amazon Web Services läuft, nach Auto Scaling Groups (ASGs) sucht Instanzen (virtuelle Maschinen) pro Guppe wahllos beendet. Dabei ist die Software flexibel genug entwickelt worden, dass sie ebenfalls auf den Plattformen anderer Cloud Anbieter funktioniert. Der Service ist voll konfigurierbar, läuft standardmäßig aber an gewöhnlichen Werktagen von 09.00 Uhr bis 15.00 Uhr. In den meisten Fällen hat Netflix seine Anwendungen so geschrieben, dass diese weiterhin funktionieren, wenn eine Instanz plötzlich Probleme hat. In speziellen Fällen passiert das bewusst nicht, damit die eigenen Leute das Problem beheben müssen, um daraus zu lernen. Der Chaos Monkey läuft also nur ein paar Stunden am Tag, damit sich die Entwickler nicht zu 100% auf ihn verlassen.

Weitere Informationen zum Chaos Monkey und der Simian Army gibt es unter "Netflix: Der Chaos Monkey und die Simian Army – Das Vorbild für eine gute Cloud Systemarchitektur".

Chaos Monkey Quellen



Amazon Web Services (AWS) präsentieren neuen EC2 High I/O Instanz-Typ mit 2 TB SSD Speicher. Netflix mit erstem Benchmark.

Immer mehr moderne Web- und mobile Applikationen sind von einem hohen I/O Durchsatz abhängig. Für das Darstellen umfangreicher Informationen und Graphiken sowie der Reaktion auf Interaktionen in Echtzeit, sind die Anwendungen darauf angewiesen eine Menge an Daten zu speichern und auf diese zuzugreifen. Die Amazon Web Services (AWS) haben nun darauf reagiert und gestern einen neuen EC2 Instanz-Typ für Anwendungen mit einem hohen I/O Durchsatz und einer geringen Latenz präsentiert. Nach Angaben von Amazon ist die Instanz ideal für den Einsatz von NoSQL Datenbanken wie Cassandra und MongoDB.

Amazon Web Services (AWS) präsentieren neuen EC2 High-Performance Instanz-Typ mit 2 TB SSD Speicher. Netflix mit erstem Benchmark.

Eigenschaften der High I/O EC2 Instanz

Die erste Instanz aus der neuen High I/O Reihe nennt sich High I/O Quadruple Extra Large (hi1.4xlarge) und verfügt über die folgende Spezifikation:

  • 8 virtuelle Kerne, insgesamt 35 ECU (EC2 Compute Units)
  • HVM und PV Virtualisierung
  • 60,5 GB RAM
  • 10 Gigabit Ethernet
  • 2TB lokaler SSD Speicher, ein Paar von jeweils 1TB

Die High I/O Quadruple Extra Large Instanzen stehen aktuell in den Regionen US East (Northern Virginia) und EU West (Ireland) bereit. Die Kosten betragen 3,10 Dollar bzw. 3,41 Dollar pro Stunde.

Netflix präsentiert ersten Benchmark

Netflix Cloud Architekt Adrian Cockcroft hatte bereits im März 2012 während eines Interviews darüber philosophiert, dass es in Zukunft schnellere I/O Mechanismen in der Cloud geben muss und hatte sich den Einsatz von SSDs (Solid-State-Drives) als Speichertechnologie für die Amazon Cloud gewünscht.

Nach Ankündigung der neuen Technologie, lies es sich Cockcroft natürlich nicht nehmen, eigene Test durchzuführen und hat dazu einen umfangreichen Benchmark veröffentlicht, der hier zu finden ist.

Neue EC2 Instance Status Metriken

Neben dem neuen High I/O Instanz-Typ hat AWS ebenfalls weitere Status Metriken für EC2 eingeführt. Es existieren zwei unterschiedliche Tests, die System Status Checks und Instanz Status Checks. Die Ergebnisse der Tests werden auf der AWS Management Console veröffentlicht und können ebenfalls über die Kommandozeile und den EC2 APIs abgerufen werden.

Zudem können die Metriken nun auch über Amazon CloudWatch abgefragt werden. Zu jeder Instanz gehören drei Metriken, die alle 5 Minuten aktualisiert werden:

  • StatusCheckFailed_Instance = "0" wenn der Instanz-Check positiv ist, ansonsten "1".
  • StatusCheckFailed_System = "0" wenn der System-Check positiv ist, ansonsten "1".
  • StatusCheckFailed = "0" wenn keiner der beiden oben genannten Wert "0" ist, sonst "1".


Netflix: Der Chaos Monkey und die Simian Army – Das Vorbild für eine gute Cloud Systemarchitektur

Die letzten Ausfälle bei den Amazon Web Services (AWS) hier und hier haben gezeigt, dass bei manchen Kunden wie bspw. Instagram, die Systemarchitektur nicht auf das Cloud Computing ausgelegt ist. Und auch wenn AWS so etwas nicht (mehr) passieren darf, sollte man selbst darauf achtgeben, präventiv auf den möglichen Ernstfall vorbereitet zu sein. Eine Möglichkeit ist der von Netflix entwickelte Chaos Monkey und weitere Tools, die ich in diesem Artikel vorstellen möchte.

Üben, Lernen, Testen

Bevor sich Netflix für den Einsatz seines Systems auf den Amazon Web Services entschieden hat (Migration von einer eigenen Infrastruktur), verbrachte das Unternehmen viel Zeit damit, um die AWS Plattform zu verstehen und ein Test-System innerhalb der Infrastruktur aufzubauen. Dabei wurde insbesondere darauf geachtet, soviel realistischen Traffic bzw. Traffic Szenarien wie möglich zu erzeugen, um damit das Test-System auf seine Stabilität hin zu prüfen.

Anfangs entwickelte Netflix dazu einen einfachen Repeater, der die echten und vollständigen Kundenanfragen auf das System innerhalb der AWS Infrastruktur kopierte. Damit identifizierte Netflix die möglichen Engpässe seiner Systemarchitektur und optimierte im Zuge dessen die Skalierbarkeit.

Netflix Rambo Architektur

Netflix selbst bezeichnet seine Software Architektur gerne auch als Rambo Architektur. Das hat den Hintergrund, dass jedes System unabhängig von den anderen Systemen einwandfrei funktionieren muss. Dazu wurde jedes System innerhalb der verteilten Architektur so entwickelt, dass es darauf vorbereitet ist, dass andere Systeme zu denen eine Abhängigkeit besteht, ausfallen können und das dieses toleriert wird.

Sollte das Bewertungssystem ausfallen, verschlechtert sich zwar die Qualität der Antworten, aber es wird dennoch eine Antwort geben. Statt personalisierten Angeboten werden dann nur bekannte Titel angezeigt. Sollte das System, dass für die Suchfunktion zuständig ist, unerträglich langsam sein, muss das Streaming der Filme trotzdem einwandfrei funktionieren.

Der Chaos Monkey

Eines der ersten Systeme die Netflix auf bzw. für AWS entwickelt hat, nennt sich Chaos Monkey. Sein Job ist es zufällig Instanzen und Services innerhalb der Architektur zu zerstören. Damit stellt Netflix sicher, dass alle Komponenten unabhängig voneinander funktionieren, selbst dann wenn Teil-Komponenten ein Problem haben.

Neben dem Chaos Monkey hat Netflix viele weitere Monitoring und Test-Tools für den Betrieb seines Systems auf den Amazon Web Services entwickelt, die das Unternehmen als The Netflix Simian Army bezeichnet.

Latency Monkey

Der Latency Monkey induziert künstliche Verzögerungen im Netflix eigenem REST-Client-Server Communication-Layer, um einen Leistungsabfall zu simulieren und rechtzeitig Maßnahmen zu ergreifen bzw. im Vorwege angemessen zu reagieren. Indem sehr große Verzögerungen erzeugt werden, kann damit zudem der Ausfall eines Nodes oder eines vollständigen Service simuliert werden, ohne diese Instanzen tatsächlich zu zerstören. Damit wird die Fehlertoleranz eines neuen Service überprüft, indem der Ausfall seiner Abhängigkeiten simuliert wird. Der Ausfall dieser Abhängigkeiten wirkt sich dabei jedoch nicht auf den Rest des Systems aus.

Conformity Monkey

Der Conformity Monkey findet Instanzen, die nicht den Best-Practices Anforderungen entsprechen und fährt diese herunter. Wenn z.B. Instanzen gefunden werden, die nicht zu einer Auto-Scaling Group gehören, weiß der Conformity Monkey, dass dieses zu Problemen führen wird. Diese werden also heruntergefahren, um dem Service-Owner die Gelegenheit zu geben, neue Instanzen mit den erwarteten Eigenschaften hochzufahren.

Doctor Monkey

Der Doctor Monkey überprüft die Health Checks, die sich auf jeder Instanz befinden und überwacht zudem weitere Eigenschaften, wie bspw. die CPU-Auslastung, um mögliche Fehlerquellen innerhalb der Instanzen selbst zu erkennen. Werden fehlerbehaftete Instanzen entdeckt, werden diese zunächst automatisch vom Service entfernt. Anschließend erhält der Service-Owner die Gelegenheit die Ursache für den Fehler zu finden und beendet diese Möglicherweise um stattdessen neue Instanzen zu starten.

Janitor Monkey

Der Janitor Monkey sorgt dafür, dass die Netflix Cloud Umgebung effizient betrieben wird und sich kein Müll oder überschüssige Instanzen anhäufen. Dazu sucht er nach ungenutzten Ressourcen und sorgt dafür, dass diese verschwinden.

Security Monkey

Der Security Monkey ist eine Erweiterung des Conformity Monkey. Er findet Sicherheitslücken oder Schwachstellen wie falsch konfigurierte AWS Security Groups und beendet die beanstandeten Instanzen. Er stellt zudem sicher, dass alle SSL-und DRM-Zertifikate gültig sind.

10-18 Monkey

Der 10-18 Monkey (steht auch für Lokalisierung-Internationalisierung bzw. l10n-i18n) erkennt Konfigurations- und Laufzeit Probleme innerhalb von Instanzen, die Kunden in verschiedenen geografischen Regionen, mit unterschiedlichen Sprachen und Zeichensätze bedienen.

Chaos Gorilla

Der Chaos Gorilla ist vergleichbar mit dem Chaos Monkey, simuliert allerdings einen vollständigen Ausfall einer Amazon Availability Zone. Damit wird sichergestellt, dass die Funktionalität des Systems automatisch in andere Availability Zones verschoben wird, ohne das ein manueller Eingriff von Netflix erforderlich ist und das der Nutzer davon etwas bemerkt.

Fazit

Die Simian Army von Netflix ist ein Extrembeispiel wie eine Cloud Architektur auszusehen hat. Das Unternehmen hat viel Zeit, Anstrengungen und Kapital in die Entwicklung seiner Systemarchitektur investiert, die auf der Cloud Infrastruktur der Amazon Web Services läuft. Aber es lohnt sich und jedes Unternehmen, das die Cloud ernsthaft nutzen möchte und ein hochverfügbares Angebot präsentieren will, sollte sich Netflix unbedingt zum Vorbild nehmen.



Mobile, Social Media und Big Data sind die Treiber des Cloud Computing

Zwei voneinander unabhängige Studien von Microsoft und SAP zeigen die besondere Bedeutung des Cloud Computing und das die Bereiche Mobile Computing, Social Media und Big Data die Treiber der Cloud sind.

"Mobile Computing, Social Media und Big Data sind die Treiber des Cloud Computing.

Eine neue Studie im Auftrag von SAP lässt Spekulationen aufkommen, das Cloud Computing, unterstützt durch die Bereiche Mobile Computing, Social Networking und Big Data, in den nächsten Jahren viel mehr Möglichkeiten aufzeigen wird, als es das Internet in seinen frühen Jahren geschafft hat.

Die Studie zeigt, das anhand des Cloud Computing bereits heute eine beträchtliche Zahl von Arbeitsplätzen in den USA geschaffen wurde und basierend auf zahlreichen Trends und Indikatoren, ein enormes Potenzial für neue Geschäfte hat und Hunderttausende neuer Arbeitsplätze schafft.

So zeigt die SAP Studie bspw., dass 11 Cloud Computing Anbieter zusammen 80.000 neue Arbeitsplätze im Jahr 2010 geschaffen haben. Zudem war das Beschäftigungswachstum bei diesen Unternehmen fast fünfmal größer als das des gesamten High-Tech-Sektors. Der Bericht zitiert dazu eine Studie der Bank of America Merrill Lynch Global, in der die Gesamtzahl der Mitarbeiter von 11 Cloud Computing Unternehmen (Amazon, Google, Netflix, OpenTable, Salesforce, Taleo, SuccessFactors, RightNow, Intuit, NetSuite und Concur) im Zeitraum von Januar 2010 bis Januar 2011 berechnet wurde. Die Gesamtzahl der Beschäftigten wuchs innerhalb dieses Jahres um 27%. So wuchs das führende Cloud Unternehmen OpenTable in diesem Zeitraum um mehr als 44%. VMware um 41% und Amazon um 31%.

Unternehmen die Cloud-Services anbieten, werden in den nächsten fünf Jahren voraussichtlich einen Umsatz von durchschnittlich 20 Milliarden Dollar pro Jahr erwirtschaften, wodurch in diesem Zeitraum ca. 472.000 Arbeitsplätze in den USA und weltweit geschaffen werden könnten. Darüber hinaus werden Venture Capital-Investitionen in den Cloud Bereich für die kommenden fünf Jahren auf 30 Milliarden Dollar taxiert, die weitere 213.000 neue Arbeitsplätze allein in den USA schaffen sollen.

Eine weitere Studie von IDC im Auftrag von Microsoft kommt zu dem Ergebnis, dass Cloud Computing in den kommenden drei Jahren weltweit 14 Millionen Arbeitsplätze schaffen wird. Diese werden aber auch in Bereichen außerhalb der IT wie Marketing, Vertrieb, Finanzen, Verwaltung, Entwicklung und Dienstleistungen entstehen. Darüber hinaus werden neue Positionen entstehen wie z.B. der "Virtuelle Ressourcen Administrator" oder der "Kunden-Netzwerk Moderator".

IDC prognostiziert in den nächsten drei Jahren zudem Einnahmen durch Cloud Innovation in Höhe von 1.1 Billion Dollar pro Jahr.

Mobile Computing, Social Networking und Big Data sind die Treiber

Drei Megatrends Treiben den Bereich der Cloud-Services voran und sorgen für das Wachstum im Arbeitsmarkt.

  • Mobile Computing: Der Markt für Smartphones und Tablets wird weiter stark nachgefragt. Dadurch werden die Anfragen an die Back-Ends wie App-Stores, Datenbanken und Speicherplatz der Cloud-Services durch Mobile Anwendungen massiv steigen. Zudem ermöglichen Cloud Services Tablet und Smartphone Nutzer einen besseren Zugriff auf Informationen und anderen Daten.
  • Social Networking: Ohne Cloud Computing Technologien wäre eine so massive Skalierbarkeit und Elastizität nicht möglich um diese Webseiten zu betreiben.
  • Big Data: Cloud Infrastrukturen und Plattformen werden bei der Verarbeitung und Analyse riesiger Datenmengen auf Grund ihrer Skalierbarkeit eine große Rolle spielen.

Bildquelle: http://www.thenewnewinternet.com, http://www.emptylemon.co.uk



Netflix erwartet künftig SSDs als Speichertechnologie für Cloud Infrastrukturen!

Netflix Cloud Architekt Adrian Cockcroft erwartet künftig schnellere I/O Mechanismen in der Cloud. Netflix gehört zu den größten Kunden der Amazon Web Services und Cockcroft wünscht sich zunehmend den Einsatz von SSDs (Solid-State-Drives) als Speichertechnologie für die Amazon Cloud. Ein Problem besteht hier jedoch - für die Amazon Web Services - SSDs lassen sich noch nicht stark genug skalieren.

In einem Interview mit ZDNet UK erläuterte Cockcroft erneut die Bedeutung von schnellen I/O Mechanismen innerhalb der Cloud. "Ich habe bereits vor einiger Zeit nach SSDs in der Cloud gefragt.", so Cockcroft.

Er findet es zwar klasse, dass Amazons Dynamo DB auf SSD basiert, dennoch erwartet er eine noch höhere Skalierbarkeit. Netflix nutzt Cassandra als Speicherarchitektur, um damit das Streaming der Mediadaten zu realisieren. Der Einsatz von SSD würde Netflix dabei noch besser unterstützen.

Die Problematik besteht laut Cockcroft jedoch darin, dass SSDs für Amazon vorab nicht stark genug skalieren, bevor sie damit einen Service anbieten. Daher haben die Amazon Web Services zwar Instanzen für CPU, Speicher und die Netzwerkkapazitäten, aber das I/O ist auf die Leistung der Festplatte beschränkt.


Bildquelle: http://alblue.bandlem.com