Daten: Die vier Innovationsphasen von Netflix
Wie Netflix zu einer riesigen Streamingplattform wurde, was dabei alles schiefging und was Plattformentwickler für ihre eigenen Streaming-Datenplattformen lernen können.

Dieser Text ist eine Übersetzung. Das Original von Zhenzhong Xu ist hier zu finden.
- Daten: Die vier Innovationsphasen von Netflix
- Phase 1: Rettung der Netflix-Protokolle
- Herausforderungen in Phase 1
- Strategiewetten in Phase 1
- Phase 2: Skalierung für Hunderte von Anwendungsfällen
- Strategiewetten und Erkenntnisse in Phase 2
- Phase 3: Skalierung von Tausenden von Anwendungsfällen
- Strategiewetten und Erkenntnisse aus Phase 3
- Phase 4: Erweiterte Zuständigkeiten bei der Streamverarbeitung
- Chancen und Ausblick
- Anhang: Streamverarbeitungsmuster bei Netflix
Mein Name ist Zhenzhong Xu. Angefangen habe ich bei Netflix als Gründungsingenieur im Team für die Echtzeit-Dateninfrastruktur. Später habe ich das Team für die Engines zur Streamverarbeitung geleitet. Das waren die wichtigsten Errungenschaften des Teams:
- Bei den Anwendungsfällen für Streamingdaten sind wir in allen Bereichen bei Netflix von null auf über 2.000 gewachsen.
- Wir haben erfolgreiche Produkte wie Keystone, eine verwaltete Flink-Plattform, Mantis und eine verwaltete Kafka-Plattform aufgebaut und weiterentwickelt. Diese Produkte bieten Lösungen für viele Aspekte der Datenlandschaft, einschließlich Anwendungsfällen in den Bereichen Datenaufnahme, Datenbewegung, analytische und operative Verarbeitung sowie maschinelles Lernen.
- Wir gehörten branchenweit zu den ersten, die schon 2017 ein skaliertes Open-Source-Deployment für Kafka & Flink umgesetzt haben, um eine Billion Ereignisse pro Tag zu verarbeiten, was dann bis 2021 nochmals um den Faktor 20 skaliert wurde.
Vor einigen Monaten habe ich Netflix verlassen, um eine ähnliche, wenn auch größere Vision im Bereich des maschinellen Lernens in Echtzeit zu verfolgen. Hier möchte ich meine Erfahrungen aus dem Aufbau der Echtzeit-Dateninfrastruktur bei Netflix teilen.
Ich hoffe, damit Plattformentwicklern dabei zu helfen, ihre cloudeigenen, im Self-Service nutzbaren Streaming-Datenplattformen zu entwickeln und die Anwendungsfälle über viele Geschäftsfunktionen hinweg zu skalieren. Der Lerneffekt beruht dabei nicht unbedingt auf unserem Erfolg, sondern eher auf unseren Fehlschlägen.
Ich glaube außerdem, dass Kenntnisse zum Aufbau von Datenbanken für Plattformnutzer (beispielsweise Datenwissenschaftler und Ingenieure im Bereich maschinelles Lernen) hilfreich sind, um möglichst viel aus ihren Plattformen herauszuholen.
Wir haben bei Netflix vier Phasen der iterativen Reise zur Echtzeit-Dateninfrastruktur von 2015 bis 2021 durchlaufen.
Phase 1: Rettung der Netflix-Protokolle aus fehlerhaften Batch-Pipelines (2015). Während des globalen Megawachstums von Netflix beruhten die geschäftlichen und operativen Entscheidungen auf schnelleren Protokollierungsdaten. 2015 war die Skalierung von Batch-Pipelines auf der Basis von Chukwa/Hadoop/Hive extrem schwierig. In dieser Phase haben wir von Grund auf eine Plattform aufgebaut, bei der das Streaming oberste Priorität hatte, um die fehlerhaften Pipelines zu ersetzen.
Phase 2: Skalierung für Hunderte von Anwendungsfällen für Datenbewegungen (2016). Nach der ersten Produktveröffentlichung stieg die interne Nachfrage nach Datenbewegungen kontinuierlich. Wir mussten uns auf die häufigsten Anwendungsfälle konzentrieren. In dieser Phase gelang uns eine Skalierung, um Hunderte von Anwendungsfällen zu unterstützen. Hierzu haben wir eine im Self-Service betriebene, vollständig verwaltete Plattform mit einem einfachen, aber leistungsstarken Bausteinprinzip entwickelt.
Phase 3: Unterstützung für benutzerdefinierte Anforderungen und Skalierung von weit über tausend Anwendungsfällen (2017-2019) Als die Streamverarbeitung bei Netflix eine immer größere Dynamik entwickelte, forderten viele Teams eine niedrigere Latenz und eine höhere Verarbeitungsflexibilität in den Bereichen Data Engineering, Beobachtbarkeit und maschinelles Lernen. In dieser Phase haben wir eine neue Entwicklungserfahrung für die Streamverarbeitung aufgebaut, um benutzerdefinierte Anwendungsfälle zu ermöglichen. Außerdem haben wir uns neuen technische und operative Herausforderungen gestellt.
Phase 4: Erweiterte Zuständigkeiten bei der Streamverarbeitung - künftige Herausforderungen und Chancen (2020 bis heute). Mit der rasanten technologischen Entwicklung bei Datenplattformen in der Branche gehen viele neue Herausforderungen einher: Schwierigkeiten bei der Koordinierung, eine steile Lernkurve, Grenzen zwischen Stream und Batch und vieles mehr. In dieser Phase haben wir untersucht, wie die Streamverarbeitung eine prominentere Rolle bei Verbindungstechnologien spielen kann und wie die Abstraktion erhöht werden kann, um eine einfachere Nutzung von Datenplattformen zu erreichen. Vor uns liegen außerdem noch viele Chancen.
Ich stelle für jede Phase die sich ergebenden Geschäftsmotivationen, die einzigartigen Herausforderungen des Teams, die Strategiewetten und die Muster für die Anwendungsfälle vor, die wir auf dem Weg entdeckt haben.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Phase 1: Rettung der Netflix-Protokolle |
Ich hatte den Artikel in meinem RSS feed gespeichert, weil ich die Thematik sehr...
Ich finde den Artikel auch furchtbar "sperrig". Und ja, ist mir auch schon desöfteren...
kwt.