Cloud-Migration bei Netflix abgeschlossen

Die Migration in die Cloud bei Netflix begann im August des Jahres 2008, als wir aufgrund einer signifikanten Datenbankstörung drei Tage lang keine DVDs an unsere Mitglieder verschicken konnten. Dadurch wurde uns klar, dass wir von vertikal skalierten Single Points of Failure (SPOFs), wie z. B. relationalen Datenbanken in unserem Datencenter, auf höchst verlässliche und horizontal skalierbare, verteilte Cloud-Systeme umstellen mussten. Für diesen Zweck haben wir uns für Amazon Web Services (AWS) als Cloud-Provider entschieden, da uns dieser Dienst den größten Umfang und die meisten Services und Funktionen bot. Die Mehrzahl unserer Systeme, einschließlich aller kundenseitigen Dienste, wurde schon vor 2015 in die Cloud verlagert. Jedoch wollten wir uns die notwendige Zeit nehmen, um für unsere Abrechnungsinfrastruktur und alle Aspekte, die mit der Verwaltung von Kunden- und Mitarbeiterdaten zu tun haben, einen sicheren und strapazierfähigen Cloud-Pfad zu ermitteln. Wir dürfen nun mit Stolz verkünden, dass wir Anfang Januar 2016 nach sieben Jahren harter Arbeit den Cloud-Migrationsprozess abgeschlossen und die letzten verbleibenden Ressourcen des Datencenters, die für unseren Streaming-Dienst genutzt wurden, vom Netz nehmen konnten.

Die Migration in die Cloud hat Netflix eine Reihe verschiedener Vorteile beschert. So hat sich die Anzahl der Streaming-Mitglieder seit 2008 verachtfacht und auch die Streaming-Nachfrage pro Nutzer ist stark gestiegen, was in acht Jahren zu einem 1.000-fachen Anstieg des Streaming-Aufkommens geführt hat.

Auch Netflix als Produkt hat sich rapide weiterentwickelt, was die Integration vieler neuer und ressourcenintensiver Funktionen und stetig ansteigende Datenvolumen zur Folge hatte. Ein solch schnelles Wachstum hätten wir mit unseren eigenen Datencentern kaum tragen können, da die erforderlichen Server schlichtweg nicht schnell genug hätten integriert werden können. Die Elastizität der Cloud hingegen gestattet uns, innerhalb weniger Minuten mehrere tausend virtuelle Server und Speicherplatz im Umfang von mehreren Petabytes hinzuzufügen, was eine solche Expansion erst möglich macht. Am 6. Januar 2016 hat Netflix seinen Dienst auf über 130 neue Länder ausgeweitet und ist so zu einem wahrhaftig globalen Internet-TV-Anbieter avanciert. Die Nutzung mehrerer AWS-Cloud-Regionen in verschiedenen Teilen der Welt ermöglicht uns eine flexible Umstrukturierung und Ausweitung unserer globalen Infrastrukturkapazitäten, was Netflix-Mitgliedern unabhängig vom Standort ein besseres und unterhaltsameres Nutzererlebnis ermöglicht.

Bei allen skalierbaren IT- und Speicheranforderungen – unserer Geschäftslogik, verteilten Datenbanken, der Verarbeitung/Analyse großer Datenmengen, Empfehlungen, der Umschlüsselung und unzähligen weiteren Funktionen, die in ihrer Gesamtheit Netflix ausmachen – verlassen wir uns inzwischen auf die Cloud. Inhalte werden über unser Content Delivery Network namens „Netflix Open Connect“ gestreamt. Dieses Netzwerk ermöglicht uns, unsere Daten auf effiziente Weise auf die Endgeräte unserer Mitglieder zu übertragen.

Dank der Cloud waren wir außerdem in der Lage, die Verfügbarkeit unseres Dienstes deutlich zu erhöhen. Unsere Datencenter hatten in der Vergangenheit mit einer Reihe von Ausfällen zu kämpfen, und obwohl wir auch mit der Cloud besonders in der Anfangsphase der Migration einige Probleme meistern mussten, war es uns möglich, die allgemeine Verfügbarkeit stetig zu erhöhen, wodurch wir uns unserem Ziel der Verfügbarkeitsklasse 4 nähern konnten. Gelegentliche Ausfälle sind auch in verteilten Systemen großen Umfangs nicht zu 100% vermeidbar, was auch für Cloud-Systeme gilt. Jedoch bietet die Cloud die Möglichkeit, aus im Grunde unverlässlichen Komponenten nach dem Redundanzprinzip höchst verlässliche Services zu erstellen. Durch die Nutzung des Prinzips der Redundanz und einer hohen Fehlertoleranz in unserer Systeminfrastruktur sowie die Durchführung regelmäßiger Notfallübungen im System mithilfe der Simian Army ist es möglich, Ausfälle in der Cloud-Infrastruktur und unseren Systemen zu überstehen, ohne das Nutzererlebnis unserer Mitglieder zu beeinträchtigen.

Obwohl die Kostenreduktion nicht der Hauptgrund für die Migration zur Cloud war, haben sich die Kosten pro gestreamtem Titel dank der Cloud auf einen Bruchteil der Kosten dessen reduziert, was mit dem Datencenter anfiel. Natürlich begrüßen wir dies als willkommenen Nebeneffekt. Dies ist auf die Elastizität der Cloud zurückzuführen, die uns gestattet, die Ressourcenzusammenstellung durch die Anpassung der Instance-Typen stetig zu optimieren und unseren Fußabdruck ohne die Notwendigkeit von Zwischenspeichern hoher Kapazität fast in Sekundenschnelle zu erhöhen bzw. zu senken. Auch profitieren wir von Skaleneffekten, die nur in großen Cloud-Ökosystemen möglich sind.

In Anbetracht der offensichtlichen Vorteile der Cloud fragt man sich, warum die vollständige Migration ganze sieben Jahre in Anspruch genommen hat. Hierzu ist zu sagen, dass die Umstellung auf die Cloud viel harte Arbeit erforderte und wir während der Umstellung eine Reihe schwieriger Entscheidungen treffen mussten. Es mag sein, dass man eine Migration zur Cloud am einfachsten durch eine rabiate Verlagerung aller Systeme in unveränderter Form aus dem Datencenter in die AWS-Cloud erreichen kann. Bei diesem Ansatz werden jedoch auch alle Probleme und Einschränkungen des Datencenters mit in die Cloud verlagert. Daher haben wir uns stattdessen dafür entschieden, die Cloud von Grund auf neu zu konstruieren, was im Prinzip einen kompletten Neuaufbau unserer Technologie und eine grundlegende Umwälzung unserer Betriebsmethoden erforderte. Strukturell sind wir von einer monolithischen App auf Hunderte von Mikrodiensten umgestiegen und haben unser Datenmodell mithilfe von NoSQL-Datenbanken denormiert. Seitdem sind Budgetgenehmigungs-, zentralisierte Releasekoordinierungs- und mehrwöchige Prozesse zur Bereitstellung der Hardware einer ununterbrochenen Ressourcenverfügbarkeit und der Möglichkeit unabhängiger Entscheidungen seitens der IT-Entwicklungsteams gewichen, die mithilfe von Selfservice-Tools in einer lose verkoppelten DevOps-Umgebung möglich sind, was wiederum Innovationen ankurbelt. Dabei mussten viele neue Systeme zunächst errichtet und neue Fähigkeiten erlernt werden. Viel Zeit und Mühe war erforderlich, um Netflix in ein von Grund auf Cloud-basiertes Unternehmen zu verwandeln. Jedoch hat uns dieser Prozess für unser weiteres Wachstum und unsere Entwicklung hin zu einem wahrhaftig globalen TV-Anbieter sehr viel besser positioniert.

Die Streaming-Technologie bei Netflix hat sich in den letzten Jahren stark weiterentwickelt und wir sind sehr froh, nun nicht mehr von den Einschränkungen herkömmlicher Datencenter beeinträchtigt zu werden. Da die Cloud für viele Menschen in unserer Branche jedoch noch eine Neuheit ist, gibt es noch viele offene Fragen und ungelöste Probleme. Wir freuen uns jedoch darauf, diese Herausforderungen durch Initiativen wie die Netflix Open Source-Initiative in Zusammenarbeit mit großartigen IT-Experten auch in Zukunft gemeinsam zu meistern.

– Yury Izrailevsky, Stevan Vlaovic und Ruslan Meshenberg

Mehr vom Unternehmensblog

Ein globales System für Empfehlungen

Als Netflix im Januar in 130 zusätzlichen Ländern startete, wollten wir sicherstellen, dass unser Dienst überall auf der Welt gut funktioniert. Dafür mussten viele komplexe technische Probleme auf globaler Basis gelöst werden. Weiterlesen

Nach oben