Phase 1: Rettung der Netflix-Protokolle

2015 hatte Netflix bereits 60 Millionen Abonnenten und expandierte aggressiv auf internationaler Ebene. Wir wussten alle, dass der Schlüssel zur Aufrechterhaltung des rasanten Abonnentenwachstums in der schnellen Skalierung der Plattformnutzung lag.

Stellenmarkt
  1. Product Owner (m/w/d)
    Bike Mobility Services GmbH, Cloppenburg
  2. Senior Software Developer (m/w/d)
    Allianz Technology SE, Stuttgart
Detailsuche

Randnotiz: Wer mit der Thematik nicht so vertraut ist, sollte wissen, dass das Plattformteam für die Nutzung die grundlegenden Infrastrukturkomponenten zentral verwaltet, damit sich das Produktteam auf die Geschäftslogik konzentrieren kann. Unser Team musste herausfinden, wie sich die Protokollierungsverfahren bei Netflix skalieren ließen. Zu dem Zeitpunkt gab es bei Netflix etwa 500 Mikroservices, die jeden Tag mehr als 10 Petabyte Daten in der Umgebung generierten.

Die Erfassung dieser Daten dient bei Netflix in erster Linie zwei Zwecken:

  • dem Erfassen geschäftlicher Analyseinformationen (beispielsweise Nutzerbindung, durchschnittliche Sitzungslänge, Trends).
  • de, Erfassen operativer Informationen (beispielsweise Messung von Streamingwiedergaben pro Sekunde, um den Zustand der Netflix-Systeme schnell und einfach zu überprüfen), damit Entwickler Alarm schlagen oder Probleme entschärfen können.

Golem Karrierewelt
  1. AZ-104 Microsoft Azure Administrator: virtueller Vier-Tage-Workshop
    19.-22.09.2022, virtuell
  2. Adobe Premiere Pro Aufbaukurs: virtueller Zwei-Tage-Workshop
    17./18.10.2022, Virtuell
Weitere IT-Trainings

Nun kann man sich fragen, warum die Protokolle überhaupt vom Rand des Netzwerks in das Data Warehouse verschoben werden müssen. Aufgrund des enormen Umfangs war es nicht machbar, Analysen der Online-Transaktionsdatenbanken bei Bedarf im richtigen Maßstab umzusetzen.

Der Grund dafür ist, dass OLTP (Online Transactional Processing) und OLAP (Online Analytical Processing) auf verschiedenen Annahmen basieren. OLTP wurde für zeilenorientierte und OLAP für spaltenorientierte Zugriffsmuster entwickelt. Intern werden jeweils unterschiedliche Datenstrukturen für Optimierungen eingesetzt.

Angenommen, wir möchten wissen, wie die durchschnittliche Sitzungslänge bei Hunderten Millionen Netflix-Nutzern aussieht. Wenn wir diese analytische Abfrage in einem zeilenorientierten OLTP-System auf Abruf stellen, erhalten wir komplette Tabellenabfragen mit der Granularität auf Zeilenebene und sperren dadurch eventuell die Datenbank. So sind die Anwendungen nicht mehr erreichbar, was sich negativ auf die Benutzerzufriedenheit auswirkt.

Diese Art der Analyse oder Meldung der Auslastung funktioniert deutlich besser in einem OLAP-System. Deshalb müssen die Protokolle zuverlässig und mit niedriger Latenz verschoben werden.

  • Verschieben der Daten vom Rand zum Data Warehouse (Bild: Zhenzhong Xu)
  • Fehleranfällige Architektur mit Batch-Pipeline vor der Migration (Bild: Zhenzhong Xu)
  • Keystone-Streamingarchitektur nach der Migration (Bild: Zhenzhong Xu)
  • So unterstützt die Streamverarbeitung den Umgang mit operativen und analytischen Daten. (Bild: Zhenzhong Xu)
  • Trennung der Bedenken für unterschiedliche Szenarien bei der Streamverarbeitung (Bild: Zhenzhong Xu)
  • Diagramm zur sich entwickelnden Keystone-Architektur, circa 2016. Keystone enthält Kafka- und Flink-Engines als Kernkomponenten. Weitere Details zum technischen Design finden sich in Blogposts mit dem Schwerpunkt Kafka und Flink. (Bild: Zhenzhong Xu)
  • Keystone-UI zeigt eine Drag-and-Drop-Erfahrung im Self-Service, die von einer voll verwalteten Streamingarchitektur mit mehreren Mandanten gestützt wird. (Bild: Zhenzhong Xu)
  • A/B-Test zur Auswahl der besten künstlerischen Darstellung für die Personalisierung (Bild: Netflix)
  • Architektur mit Abtrennung der Flink-Plattform als separatem Produkteinstiegspunkt (Bild: Zhenzhong Xu)
  • Abstimmung der Streamverarbeitung in Netflix - 2021 (Bild: Zhenzhong Xu)
  • Optimalpunkt zwischen Einfachheit und Flexibilität (Bild: Zhenzhong Xu)
Verschieben der Daten vom Rand zum Data Warehouse (Bild: Zhenzhong Xu)

Bis 2015 hat sich der Umfang der Protokolldaten auf 500 Milliarden Ereignisse pro Tag (1 Petabyte Datenaufnahme) erhöht, während er 2011 noch bei 45 Millionen Ereignissen pro Tag lag. Die bestehende Infrastruktur für die Protokollierung (eine einfache Plattform für Batch-Pipelines, die auf Chukwa, Hadoop und Hive aufbaut) funktionierte bei den wöchentlich steigenden Abonnentenzahlen immer weniger.

Schätzungsweise hatten wir etwa sechs Monate Zeit, eine Lösung zu entwickeln, bei der das Streaming höchste Priorität hatte. Die nachstehenden Diagramme zeigen die Entwicklung von der fehleranfälligen Batch-Architektur hin zur neuen streamingbasierten Architektur.

  • Verschieben der Daten vom Rand zum Data Warehouse (Bild: Zhenzhong Xu)
  • Fehleranfällige Architektur mit Batch-Pipeline vor der Migration (Bild: Zhenzhong Xu)
  • Keystone-Streamingarchitektur nach der Migration (Bild: Zhenzhong Xu)
  • So unterstützt die Streamverarbeitung den Umgang mit operativen und analytischen Daten. (Bild: Zhenzhong Xu)
  • Trennung der Bedenken für unterschiedliche Szenarien bei der Streamverarbeitung (Bild: Zhenzhong Xu)
  • Diagramm zur sich entwickelnden Keystone-Architektur, circa 2016. Keystone enthält Kafka- und Flink-Engines als Kernkomponenten. Weitere Details zum technischen Design finden sich in Blogposts mit dem Schwerpunkt Kafka und Flink. (Bild: Zhenzhong Xu)
  • Keystone-UI zeigt eine Drag-and-Drop-Erfahrung im Self-Service, die von einer voll verwalteten Streamingarchitektur mit mehreren Mandanten gestützt wird. (Bild: Zhenzhong Xu)
  • A/B-Test zur Auswahl der besten künstlerischen Darstellung für die Personalisierung (Bild: Netflix)
  • Architektur mit Abtrennung der Flink-Plattform als separatem Produkteinstiegspunkt (Bild: Zhenzhong Xu)
  • Abstimmung der Streamverarbeitung in Netflix - 2021 (Bild: Zhenzhong Xu)
  • Optimalpunkt zwischen Einfachheit und Flexibilität (Bild: Zhenzhong Xu)
Fehleranfällige Architektur mit Batch-Pipeline vor der Migration (Bild: Zhenzhong Xu)

Wir beschlossen, diese fehleranfällige Infrastruktur durch Keystone zu ersetzen.

  • Verschieben der Daten vom Rand zum Data Warehouse (Bild: Zhenzhong Xu)
  • Fehleranfällige Architektur mit Batch-Pipeline vor der Migration (Bild: Zhenzhong Xu)
  • Keystone-Streamingarchitektur nach der Migration (Bild: Zhenzhong Xu)
  • So unterstützt die Streamverarbeitung den Umgang mit operativen und analytischen Daten. (Bild: Zhenzhong Xu)
  • Trennung der Bedenken für unterschiedliche Szenarien bei der Streamverarbeitung (Bild: Zhenzhong Xu)
  • Diagramm zur sich entwickelnden Keystone-Architektur, circa 2016. Keystone enthält Kafka- und Flink-Engines als Kernkomponenten. Weitere Details zum technischen Design finden sich in Blogposts mit dem Schwerpunkt Kafka und Flink. (Bild: Zhenzhong Xu)
  • Keystone-UI zeigt eine Drag-and-Drop-Erfahrung im Self-Service, die von einer voll verwalteten Streamingarchitektur mit mehreren Mandanten gestützt wird. (Bild: Zhenzhong Xu)
  • A/B-Test zur Auswahl der besten künstlerischen Darstellung für die Personalisierung (Bild: Netflix)
  • Architektur mit Abtrennung der Flink-Plattform als separatem Produkteinstiegspunkt (Bild: Zhenzhong Xu)
  • Abstimmung der Streamverarbeitung in Netflix - 2021 (Bild: Zhenzhong Xu)
  • Optimalpunkt zwischen Einfachheit und Flexibilität (Bild: Zhenzhong Xu)
Keystone-Streamingarchitektur nach der Migration (Bild: Zhenzhong Xu)

Außerdem lässt sich vermutlich die Frage stellen, warum überhaupt eine Architektur in Betracht kommt, bei der Streaming die höchste Priorität hat. Zu dem Zeitpunkt überwog der Mehrwert einer gut aufgestellten Streamingarchitektur die potenziellen Risiken. Netflix ist ein datengesteuertes Unternehmen. Somit zeigt sich die Bedeutung einer Streamingarchitektur sofort in folgenden Punkten:

  • Kürzere Feedback-Schleife zwischen Entwickler und Betrieb: Entwickler basieren operative Entscheidungen klar auf Protokollen. Der Zugriff auf neuere, bedarfsgenerierte Protokolle bietet Entwicklern die Möglichkeit, Probleme früher zu erkennen, und sorgt so für höhere Produktivität.
  • Bessere Produkterfahrungen: Viele Produktfunktionen, beispielsweise personalisierte Empfehlungen und die Suchfunktion, profitieren von neueren Daten und verbessern so die Benutzererfahrungen. Das führt zu einer höheren Kundenbindung und -treue.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Daten: Die vier Innovationsphasen von NetflixHerausforderungen in Phase 1 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13.  


Aktuell auf der Startseite von Golem.de
Garmin Edge Explore 2 im Test
Fahrradnavigation als verkehrsberuhigtes Abenteuer

Tour mit wenig Autos gesucht? Das Fahrrad-Navigationsgerät Garmin Edge Explore 2 kann uns das verschaffen - mit teils unerwarteten Folgen.
Ein Test von Peter Steinlechner

Garmin Edge Explore 2 im Test: Fahrradnavigation als verkehrsberuhigtes Abenteuer
Artikel
  1. Brennstoffzelle: BMW und Toyota planen Wasserstoffautos
    Brennstoffzelle
    BMW und Toyota planen Wasserstoffautos

    Wasserstoffautos gelten gegenüber reinen Elektromodellen als unterlegen, doch BMW und Toyota kooperieren nun auf diesem Feld.

  2. Eichrechtsverstoß: Tesla betreibt gut 1.800 Supercharger in Deutschland illegal
    Eichrechtsverstoß
    Tesla betreibt gut 1.800 Supercharger in Deutschland illegal

    Teslas Supercharger in Deutschland sind wie viele andere Ladesäulen nicht gesetzeskonform. Der Staat lässt die Anbieter gewähren.

  3. Display: LG will kleine 20-Zoll-OLED-Panels für Monitore herstellen
    Display
    LG will kleine 20-Zoll-OLED-Panels für Monitore herstellen

    Seit viele Menschen aus dem Homeoffice arbeiten, sei die Nachfrage nach Monitoren groß. LG will deshalb kleinere OLED-Panels bauen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • BenQ Mobiuz EX3410R 499€ • HyperX Cloud Flight heute für 44€ • MindStar (u. a. AMD Ryzen 5 5600X 169€, Intel Core i5-12400F 179€ und GIGABYTE RTX 3070 Ti Master 8G 699€ + 20€ Cashback) • Weekend Sale bei Alternate (u. a. AKRacing Master PRO für 353,99€) [Werbung]
    •  /