RSS Netflix TechBlog - Medium Notiz

RSS Netflix TechBlog - Medium

Der Netflix Tech Blog bietet Einblicke in die Technologie von Netflix. Sie bieten Forschungsergebnisse im Bereich Data Science, Ingenieurwesen, Design und Technologieinnovationen. Sie präsentieren ihre Innovationen, wie zum Beispiel ihr eigenes Content-Delivery-Netzwerk, und bieten Einblicke in ihre Bemühungen um Dienstzuverlässigkeit.

Notizfaden

Behind the Streams: Live bei Netflix. Teil 1

"Vor drei Jahren fragte sich Netflix, wie es die Welt durch Live-Streaming unterhalten könnte – ein Format, das fast so alt ist wie das Fernsehen selbst. Diese Frage führte zur Entwicklung Hunderter von Live-Events, darunter Comedy-Shows, Sport und WWE-Events. In einer Serie namens "Behind the Streams" wird Netflix den technischen Weg beim Aufbau von Live-Streaming-Fähigkeiten teilen. Live-Streaming brachte neue Überlegungen für die Architektur und Technologieauswahl mit sich, die erhebliche Anstrengungen erforderten, um auf Netflix gut zu funktionieren. Die wichtigsten Säulen der Live-Architektur von Netflix umfassen dedizierte Broadcast-Einrichtungen, cloudbasierte redundante Transkodierungs- und Packaging-Pipelines, die Skalierung der Live-Content-Bere lieferung, die Optimierung der Live-Wiedergabe und die Ausführung von Discovery- und Wiedergabesteuerungsdiensten in der Cloud. Netflix zentralisierte auch Echtzeit-Metriken in der Cloud mit spezialisierten Tools und Einrichtungen. Der Aufbau von Live-Funktionalität brachte neue Herausforderungen und Lernmöglichkeiten mit sich, und Netflix lernt jeden Tag dazu, wie es Live-Events effektiver liefern kann. Zu den bisher wichtigsten Erkenntnissen gehören die Bedeutung von umfangreichen Tests, regelmäßiger Übung, Zuschauerprognosen, graceful degradation und Retry-Stürmen. Netflix hat erhebliche Fortschritte beim Aufbau eines robusten Live-Streaming-Systems gemacht, aber es gibt noch viel zu lernen und zu verbessern."
CdXz5zHNQW_JBiedm3Ejv.png

Netflix Tudum Architektur: von CQRS mit Kafka zu CQRS mit RAW Hollow

Tudum.com ist das offizielle Fan-Destination von Netflix, das exklusiven Inhalt, Hintergrund-Einblicke und interaktive Erfahrungen für über 20 Millionen Mitglieder jeden Monat bietet. Die Architektur der Plattform ist so konzipiert, dass sie wartbar, erweiterbar und flexibel ist, indem sie einen serverseitigen UI-Ansatz ähnlich der Command Query Responsibility Segregation (CQRS) verwendet. Das Redaktionsteam von Tudum erstellt Inhalte, die in einer Schreib-Datenbank gespeichert werden, und dann in ein leseoptimiertes Format für die Verwendung durch Benutzer konvertiert werden. Die ursprüngliche Architektur verwendete Kafka, um die Schreib- und Lese-Datenbanken zu trennen, was unabhängiges Skalieren und eventuelle Konsistenz ermöglichte. Dieser Ansatz führte jedoch zu einer Verzögerung zwischen Inhaltbearbeitungen und ihrer Reflexion auf der Website. Das Team identifizierte die Quelle der Verzögerung als den Page Data Service, der einen Near-Cache verwendete, um die Seitenbau zu beschleunigen. Um dieses Problem zu lösen, entwickelte Netflix RAW Hollow, eine in-Memory-, ko-lokale, komprimierte Objekt-Datenbank, die starke Lesen-nach-Schreiben-Konsistenz und niedrige Latenz bietet. Tudum war ein perfekter Testfall für RAW Hollow, das die I/O-Aktivitäten erheblich reduzierte und synchronen Datenzugriff in O(1)-Zeit ermöglichte. Die aktualisierte Architektur eliminierte die Notwendigkeit von Kafka-Infrastruktur und reduzierte die Daten-Übertragungszeiten, sodass Autoren und Redakteure Änderungen innerhalb von Sekunden vorhersehen konnten. Die Migration führte auch zu schnelleren Anfragezeiten, wobei die Homepage-Konstruktion von 1,4 Sekunden auf 0,4 Sekunden reduziert wurde.
CdXz5zHNQW_0cHOBDLN2F.jpeg

Effizienz der Inhaltslieferung durch Klassifizierung von Cache-Fehlern

Das Open-Connect-Programm von Netflix ist ein Content-Delivery-Netzwerk (CDN), das darauf abzielt, seinen Mitgliedern die beste Qualität der Erfahrung (QoE) durch die Lokalisierung der Inhaltebereitstellung über Partnerschaften mit Internetdienstanbietern (ISPs) weltweit anzubieten. Das Programm verwendet eigens entwickelte Server namens Open-Connect-Appliances (OCAs), die für Effizienz und Kosteneffektivität konzipiert sind. Um die Effizienz von Open Connect zu bewerten, verwendet Netflix ein Framework, um Quellen von Ineffizienzen zu identifizieren, insbesondere Cache-Fehler, die auftreten, wenn Bytes nicht vom besten verfügbaren OCA für einen bestimmten Client bereitgestellt werden. Cache-Fehler werden in drei Kategorien klassifiziert: Inhaltsfehler, Gesundheitsfehler und andere Fehler. Inhaltsfehler treten auf, wenn Dateien nicht auf OCAs am lokalen Standort gefunden werden, während Gesundheitsfehler auftreten, wenn die Hardware-Ressourcen des lokalen Standorts OCA gesättigt sind. Netflix protokolliert zwei kritische Datenkomponenten, um Cache-Fehler zu berechnen: Steuerung-Wiedergabe-Manifest-Protokolle und OCA-Server-Protokolle. Diese Protokolle werden zusammengeführt, um detaillierte Cache-Fehler-Metriken auf verschiedenen Aggregationsstufen zu berechnen. Die Systemarchitektur für die Berechnung von Cache-Fehlern umfasst die Protokollierung, die Konsolidierung, die Anreicherung und die streaming-basierten Joins. Das Datenmodell, das zur Bewertung von Cache-Fehlern verwendet wird, ermöglicht die Wiedergabe von Logik offline und in Simulationen mit variablen Parametern, um neue Bedingungen und Funktionen zu testen, ohne den Produktionsverkehr zu beeinträchtigen.
CdXz5zHNQW_u3pdU106U1.png

AV1 in großem Stil: Filmkorn-Synthese, Das Erwachen

Netflix hat AV1-Filmkorn-Synthese-Streams (FGS) eingeführt, die die künstlerische Integrität des Filmkorns bei gleichzeitiger Optimierung der Daten effizienz erhalten. Filmkorn ist ein wichtiger Bestandteil der Erzählung, der Tiefe und Realismus zu Filmen hinzufügt, aber es ist schwierig, es mit traditionellen Algorithmen zu komprimieren. Das AV1-FGS-Werkzeug modelliert Filmkorn durch zwei Komponenten: Filmkornmuster und Filmkornintensität. Das Filmkornmuster wird mithilfe eines autoregressiven Modells repliziert, während die Filmkornintensität durch eine Skalierungsfunktion kontrolliert wird. Der Codierungsprozess entfernt das Filmkorn aus dem Video, komprimiert es und überträgt das Muster und die Intensität des Korns zusammen mit den komprimierten Videodaten. Während der Wiedergabe wird das Filmkorn wiederhergestellt und in das Video mithilfe einer blockbasierten Methode reintegriert. Die Aktivierung von AV1 FGS hat zu einer signifikanten Bitrate-Reduktion geführt, was hochwertiges Video-Streaming mit weniger Daten ermöglicht. Die Technologie hat auch die visuelle Qualität verbessert, indem synthetisiertes Rauschen effektiv Komprimierungsartefakte maskiert. Netflix hat FGS über seine Plattform ausgerollt, und Benutzer können jetzt FGS-aktivierte Streams auf unterstützten Geräten genießen. Die Ausrollung hat zu einem glatteren und zuverlässigeren Qualitäts-Erlebnis für Netflix-Mitglieder geführt, mit niedrigerer Bitrate, reduzierten Wiedergabefehlern und verbesseter Wiedergabe-Stabilität.
CdXz5zHNQW_VP7NReszvY.png

Modelliere einmal, stelle überall dar: UDA (Einheitliche Datenarchitektur) bei Netflix

Während das Angebot von Netflix wächst, nimmt auch die Komplexität der Systeme, die es unterstützen, zu, was zu duplizierten und inkonsistenten Modellen, inkonsistenter Terminologie, Datenqualitätsproblemen und inkonsistenten Beziehungen zwischen Daten führt. Um diese Herausforderungen anzugehen, ist eine neue Grundlage erforderlich, um ein Modell einmal zu definieren und diese Definitionen überall wiederzuverwenden, indem Konzepte mit realen Systemen verbunden und diese Definitionen nach außen projiziert werden, um Schemata zu generieren und Konsistenz über Systeme hinweg zu erzwingen. Dies führte zur Entwicklung von UDA (Unified Data Architecture), die es ermöglicht, Domänen einmal zu modellieren und sie konsistent über Systeme hinweg darzustellen, um Automatisierung, Entdeckbarkeit und semantische Interoperabilität zu ermöglichen. UDA ermöglicht es Benutzern und Systemen, Domänenmodelle zu registrieren und zu verbinden, Domänenmodelle mit Datencontainern zu katalogisieren und zu kartieren, Domänenmodelle in Schema-Definitionssprachen zu transpilieren, Daten zwischen Datencontainern zuverlässig zu übertragen, Konzepte zu entdecken und zu erkunden und programmatisch in die Wissensgraphik einzusehen. UDA ist ein Wissensgraph, der Geschäfts konzepte mit Schemata und Datencontainern verbindet, basierend auf einer in-house-Metamodell, das die Sprache für Domänenmodellierung in UDA definiert. Upper ist eine Sprache für die formale Beschreibung von Domänen und ihren Konzepten und wird verwendet, um Datencontainer-Darstellungen und -Zuordnungen zu modellieren. UDA adoptiert ein namensgraph-basiertes Informationsmodell, das Resolution, Modularität und Governance über den gesamten Graphen sicherstellt.
CdXz5zHNQW_aXb9bCvUTK.png

FM-Intent: Vorhersage der Benutzersitzungsabsicht mit hierarchischem Mehrfachlernen

Empfehlungssysteme sind wesentliche Komponenten von E-Commerce, Streaming-Medien und sozialen Netzwerken, die einen signifikanten Einfluss auf Produkte und Unternehmen haben. Bei Netflix verbinden diese Systeme Mitglieder mit relevanten Inhalten zum richtigen Zeitpunkt. Das Empfehlungs-Grundmodell hat erhebliche Fortschritte bei der Verständigung von Benutzerpräferenzen erzielt, aber es besteht die Gelegenheit, seine Fähigkeiten weiter zu verbessern. Durch die Erweiterung des Grundmodells zur Vorhersage von Benutzerintentionen kann das Modell sein Verständnis von Benutzersitzungen über die Vorhersage des nächsten Elements hinaus bereichern. Aktuelle Forschung hat die Bedeutung des Verständnisses von Benutzerintentionen auf Online-Plattformen hervorgehoben, was zu genaueren und individualisierten Empfehlungen führt. FM-Intent, ein neuartiges Empfehlungsmodell, erfasst die latente Sitzungsintents eines Benutzers mithilfe von kurzfristigen und langfristigen impliziten Signalen als Stellvertreter, um dann diese Intention vorherzusagen, um die nächste Element-Vorhersage zu verbessern. Das Modell etabliert eine hierarchische Beziehung zwischen Intention vorhersagen und nächstem Element-Vorhersagen, um eine kohärente und effektive Empfehlungspipeline zu erstellen. FM-Intent leistet drei wichtige Beiträge: ein neuartiges Empfehlungsmodell, einen hierarchischen Multi-Task-Learning-Ansatz und eine umfassende experimentelle Validierung, die signifikante Verbesserungen gegenüber Stand-der-Kunst-Modellen zeigt. FM-Intent wurde erfolgreich in das Empfehlungssystem von Netflix integriert und kann für mehrere Downstream-Anwendungen wie personalisierte UI-Optimierung, Analytics und erweiterte Empfehlungssignale genutzt werden.
CdXz5zHNQW_QduYXjmsjM.png

Hinter den Kulissen: Aufbau einer robusten Werbe-Ereignis-Verarbeitungspipeline

Bei Netflix wurde eine robuste Ereignisverarbeitungsplattform aufgebaut, um Werbekampagnen zu überwachen, zu messen und zu optimieren. Das Werbesystem basiert auf einem steten Strom von Werbeereignissen, um Entscheidungen, Frequenzbegrenzung, Pacing und Personalisierung anzupassen. Das ursprüngliche Werbeereignishandling-System bestand aus drei Hauptkomponenten: dem Microsoft Ad Server, dem Netflix Ads Manager und dem Ad Event Handler. Das System wurde so konzipiert, dass die Rückkopplungsschleife effektiv funktioniert, um Einblicke in die Impressionen, Frequenzbegrenzung und Monetisierungsprozesse zu gewähren. Als das Geschäft expandierte, wurde eine neue Persistenzschicht mit Key-Wert-Abstraktion eingeführt, um Herausforderungen wie das Wachstum des Datenbestandes und die Tracking-URLs von Drittanbietern zu bewältigen. Die Ereignisverarbeitungspipeline wurde weiterentwickelt, um die in-house-Werbetechnologie zu unterstützen, indem Funktionen wie Frequenzbegrenzung, Preisinformationen und ein robustes Berichtsystem integriert wurden. Ein zentralisiertes Werbeereignis-Sammlungssystem wurde geplant, um einen einheitlichen Datenvertrag für Verbraucher bereitzustellen und die Belange zwischen Upstream-Systemen und Verbrauchern zu trennen. Die neue Pipeline unterstützte verschiedene Funktionen wie Messung, Finanzen/Abrechnung, Berichterstattung, Frequenzbegrenzung und die Aufrechterhaltung einer essentiellen Rückkopplungsschleife zurück zum Werbeserver. Die Entwicklung des Werbeereignishandling-Systems war eine sorgfältig orchestrierte Reise, die Teamwork, Planung und Koordination zwischen verschiedenen Teams hervorhebt. Das neue System hat die Fähigkeit, neue Funktionen für das Geschäft, unterstützt durch programmatische Kaufmöglichkeiten, Teilen von Opt-out-Signalen und sicherstellen genaue Berichterstattung und Messung, erheblich beschleunigt.
CdXz5zHNQW_x4VyedRjxa.png

Messung der Verständlichkeit von Dialogen für Netflix-Inhalte

Netflix priorisiert die Verbesserung des Mitgliedererlebnisses durch die Zusammenarbeit mit Technologiepartnern, um Tools und Arbeitsabläufe zu verbessern. Diese Zusammenarbeit konzentriert sich auf die Verbesserung der Dialogverständlichkeit während des gesamten Produktionsprozesses und befasst sich mit Problemen von der Aufnahme bis zur Ausstrahlung. Eine Schlüsselinitiative ist die Dialogue Integrity Pipeline, die Faktoren identifiziert und mindert, die die Klarheit beeinträchtigen, wie z. B. geräuschvolle Umgebungen und Audio-Mixing. Netflix verwendet branchenübliche Lautheitsmesser und hat ein eSTOI-basiertes Messsystem zur Analyse der Dialogverständlichkeit entwickelt. Um die Optimierung vor der Auslieferung zu verbessern, hat Netflix eine Partnerschaft mit Fraunhofer IDMT und Nugen Audio geschlossen, um das DialogCheck-Plugin zu entwickeln. Dieses Plugin, das in Digital Audio Workstations (DAWs) integriert ist, gibt Toningenieuren Echtzeit-Feedback. Die Zusammenarbeit nutzt die KI-basierte Sprachverständlichkeit-Lösung von Fraunhofer und die Expertise von Nugen Audio im Bereich Audio-Plugins. Das DialogCheck-Plugin ermöglicht die frühzeitige Erkennung und Behebung von Problemen mit der Dialogklarheit, wodurch sichergestellt wird, dass die künstlerische Absicht nicht beeinträchtigt wird. Das ultimative Ziel ist die Bereitstellung von immersiven und barrierefreien Geschichten für alle Zuschauer, unabhängig von der Hörumgebung. Dieser kollaborative Ansatz unterstreicht das Engagement von Netflix für Audio-Exzellenz und Innovation im Storytelling.
CdXz5zHNQW_u9iv4wSU0L.png

Wie Netflix genau eBPF-Fluss-Logs zuordnet

Netflix verwendet eBPF, um TCP-Flussprotokolle im großen Maßstab für verbesserte Netzwerk-Einblicke zu erfassen, aber die genaue Zuordnung von Fluss-IP-Adressen zu Workload-Identitäten war eine erhebliche Herausforderung. Der ursprüngliche Zuordnungsansatz basierte auf Sonar, einem internen IP-Adresse-Verfolgungsdienst, aber dies führte aufgrund von Verzögerungen und Fehlern in verteilten Systemen zu Fehlzuschreibungen. Fehlzuschreibungen machten die Flussdaten für Entscheidungen unzuverlässig, und ein Workaround, bei dem empfangene Flüsse 15 Minuten lang vor der Zuordnung zurückgehalten wurden, beseitigte das Problem nicht. Um dieses Problem zu lösen, entwickelte Netflix eine neue Zuordnungsmethode, die lokale IP-Adressen durch Bestimmung der lokalen Workload-Identität aus ihrer Umgebung zuordnet. Für Container-Workloads nutzte Netflix IPMan, einen Container-IP-Adresse-Zuweisungsdienst, um lokale IP-Adressen zuzuordnen. Sobald lokale IP-Adressen zugeordnet sind, können Remote-IP-Adressen durch das Lernen der Zeitbereiche, in denen jede Workload eine bestimmte IP-Adresse besitzt, zugeordnet werden. FlowCollector speichert ein in-Memory-Hashmap, um dieses Wissen darzustellen, und teilt die gelernten Zeitbereiche mit anderen Knoten über Kafka. Die neue Methode erreicht eine genaue Zuordnung und behandelt vorübergehende Probleme elegant, und sie ist auch kosteneffizient aufgrund ihrer Einfachheit und in-Memory-Abfragen. Die Methode wird erweitert, um IP-Adressen zwischen Regionen zuzuordnen, indem Flüsse an Knoten in der entsprechenden Region weitergeleitet werden. Schließlich wird die Methode erweitert, um Nicht-Workload-IP-Adressen zuzuordnen, wie z.B. diejenigen, die Netflixs Content-Delivery-Netzwerk gehören.
CdXz5zHNQW_ODQpwXb03K.png

Globalisierung von Produktionen mit Netflix' Medienproduktionssuite

Der Umstieg der Filmindustrie auf Cloud-basierte Workflows steht vor Herausforderungen bei der globalen Implementierung. Netflix möchte diese Probleme mit seiner Media Production Suite (MPS), die für Filmemacher entwickelt wurde, lösen. Die MPS rationalisiert das Medienmanagement, eliminiert mühsame Aufgaben und fördert die kreative Konzentration. Traditionelle Workflows mit physischen Bändern sind langsam und umständlich und behindern die Zusammenarbeit. Digitale Workflows stehen ebenfalls vor Herausforderungen bei der Distribution und Standardisierung. Die Cloud bietet Lösungen, erfordert aber die Bewältigung operativer und technologischer Hürden. Netflix begegnet diesen Problemen, indem es Menschen und Anwendungen zu den Medien bringt, anstatt umgekehrt. Die MPS geht globale Unterschiede in Technologie und Standardisierung an und berücksichtigt die unterschiedlichen Bedürfnisse der Märkte. Die Suite automatisiert Prozesse wie Farbmanagement und Framing unter Verwendung von Industriestandards. Die Infrastruktur kombiniert Cloud- und physische Kapazitäten, die für die Benutzerleistung optimiert sind. Die MPS umfasst Tools für Ingest, Medienbibliothek, Dailies, Remote Workstations und mehr. Über 350 Titel haben MPS-Tools verwendet, wobei Feedback aus verschiedenen globalen Regionen eingeflossen ist. Die brasilianische Serie "Senna" nutzte MPS und zeigt damit ihre Fähigkeit, geografische Barrieren zu überwinden.

Basismodell für personalisierte Empfehlungen

Netflix entwickelt ein Foundation Model für Empfehlungen, um das Lernen von Mitgliederpräferenzen zu zentralisieren und die Effizienz verschiedener Empfehlungsmodelle zu verbessern. Das aktuelle System besteht aus spezialisierten Modellen, die kostspielig zu warten sind und Schwierigkeiten haben, Innovationen auszutauschen. Das Foundation Model zielt darauf ab, aus umfangreichen Nutzerinteraktionsverläufen und Inhaltsdaten zu lernen und diese Erkenntnisse an andere Modelle weiterzugeben. Inspiriert von großen Sprachmodellen, verlagert sich der Ansatz auf eine datenzentrierte Strategie unter Verwendung von semi-überwachtem Lernen. Netflix tokenisiert Nutzerinteraktionen und balanciert Datengranularität und Sequenzkomprimierung, um lange Interaktionsverläufe zu verarbeiten. Sparse Attention-Mechanismen und Sliding-Window-Sampling werden verwendet, um die Recheneffizienz während des Trainings zu verwalten. Jedes Token enthält umfangreiche, heterogene Informationen über die Aktion und den Inhalt, wobei Request-Time- und Post-Action-Funktionen genutzt werden. Das Modell verwendet ein autoregressives Next-Token-Vorhersageziel, ähnlich wie GPT, jedoch mit Modifikationen, um die unterschiedliche Bedeutung von Interaktionen zu berücksichtigen. Das Modell sagt mehrere Token voraus und verwendet zusätzliche Vorhersageziele, um langfristige Abhängigkeiten zu erfassen und die Genauigkeit zu verbessern. Um das Cold-Starting-Problem von Entitäten zu beheben, ist das Modell mit inkrementellem Training und der Fähigkeit ausgestattet, mit nicht gesehenen Entitäten zu inferieren, indem Metadateninformationen von Entitäten und Eingaben verwendet werden.
CdXz5zHNQW_VZmJPzyqeS.png

HDR10+ jetzt auf Netflix verfügbar

Netflix hat den Streaming-Dienst für HDR10+-Inhalte auf AV1-fähigen Geräten gestartet, was eine bessere Seherfahrung für zertifizierte HDR10+-Geräte bietet. Dies ist eine Erweiterung des bestehenden HDR10-Contents, der nur statische Metadaten verwendete. Die dynamischen Metadaten in HDR10+ verbessern die Qualität und Genauigkeit des Bildes. Netflix war ein Pionier bei der Einführung von HDR-Technologie und in den letzten fünf Jahren ist die HDR-Streaming-Nutzung um über 300% gestiegen. Das Unternehmen bietet jetzt über 11.000 Stunden HDR-Titel an. Netflix hat HDR10+ mit dem AV1-Video-Codec aktiviert, der einer der effizientesten Codecs verfügbar ist. AV1 ist bereits der zweitmeistgestreamte Codec bei Netflix und mit der Hinzufügung von HDR10+-Streams wird erwartet, dass er bald der meistgestreamte Codec wird. Das Unternehmen fügt HDR10+-Streams sowohl neuen Veröffentlichungen als auch bestehenden beliebten HDR-Titeln hinzu, mit dem Ziel, eine HDR10+-Erfahrung für alle HDR-Titel bis Ende des Jahres anzubieten. HDR10+ ist eines der drei vorherrschenden HDR-Formate, neben Dolby Vision und HDR10. HDR10+ und Dolby Vision verwenden dynamische Metadaten, die Inhaltsbild-Statistiken pro Frame bereitstellen, ermöglichen optimierte Tonkarteneinstellungen für jede Szene. Dies erreicht eine größere wahrgenommene Treue zum Original, indem die kreative Absicht erhalten bleibt. Um HDR10+ zu empfangen, müssen Mitglieder einen Netflix-Premium-Plan-Abonnement haben, der Titel muss in HDR10+-Format verfügbar sein und das Mitgliedgerät muss AV1 und HDR10+ unterstützen. Der Launch von HDR10+ war ein gemeinsames Projekt, an dem multiple Teams bei Netflix beteiligt waren, und das Unternehmen dankt allen, die dazu beitrugen, diese Idee Wirklichkeit werden zu lassen. Das Engagement für Innovation und Qualität unterstreicht Netflix' Engagement, eine immersive und authentische Seherfahrung für alle Mitglieder zu liefern.
CdXz5zHNQW_x7iQNmTXt1.png

Titel: Starten von Observability im Netflix-Maßstab

Um eine umfassende Titel-Beobachtbarkeit bei Netflix zu erreichen, führte das Unternehmen Beobachtbarkeitsendpunkte in allen Diensten innerhalb seines Personalisierungs- und Entdeckungsstacks ein. Jeder Microservice, der in den Stack involviert war, musste einen neuen "Titelgesundheits"-Endpunkt einführen, der den Grundsätzen einer genauen Wiedergabe des Produktionsverhaltens, der Standardisierung und der Beantwortung des Insight-Triads entspricht. Das Insight-Triad erfordert, dass der Endpunkt beantwortet, ob ein Titel für eine Förderung in Frage kommt, warum er nicht in Frage kommt und was getan werden kann, um Probleme zu beheben. Ein stabiles Proto-Anfrage-/Antwort-Format wurde entwickelt, um die Kommunikation zwischen dem Beobachtbarkeitsdienst und den Beobachtbarkeitsendpunkten des Personalisierungsstacks zu standardisieren. Die hochrangige Architektur der Lösung umfasst die Einrichtung von Beobachtbarkeitsendpunkten, proaktives Überwachen, Nachverfolgen von Echtzeit-Titel-Impressionen, Speichern von Daten in einem optimierten Datastore und Anbieten von einfach zu integrierenden APIs für das Dashboard. Der Title-Health-Microservice führt alle 30 Minuten einen geplanten Sammlerjob aus, um relevante Titelgesundheitsinformationen von den zugewiesenen Zeilendiensten abzurufen. Echtzeit-Titel-Impressionen-Daten werden aus einer Kafka-Warteschlange verarbeitet, die alle zwei Minuten abgefragt wird, um Impressionen-Daten abzurufen. Die Daten werden dann aggregiert und als zusätzlicher Gesundheitsstatus-Indikator für Stakeholder präsentiert. Die Daten werden in einem dedizierten Hollow-Feed für jeden Sammler gespeichert, was einen hochleistungsfähigen schreibgeschützten Zugriff ermöglicht und die Überwachung der allgemeinen Gesundheit und die Nachverfolgung der Titelhistorie ermöglicht. Das Beobachtbarkeits-Dashboard nutzt den Titelgesundheitsdienst, um den Status der Titel den Stakeholdern zu präsentieren, und das System verfügt auch über eine "Zeitreise"-Funktion, die den Datenverkehr im Voraus simuliert, um Probleme zu erkennen und zu beheben, bevor sie die Mitglieder beeinträchtigen. Die Architektur und Strategien des Systems haben es Netflix ermöglicht, die Beobachtbarkeit von Titelstarts zu verbessern, um ein aufregendes Seherlebnis zu gewährleisten und Vertrauen bei Inhaltserstellern und Partnern zu fördern. Die Lösung legt auch den Grundstein für zukünftige Innovationen, um sicherzustellen, dass jede Geschichte ihr Zielpublikum erreicht und dass jedes Mitglied seine Lieblingstitel auf Netflix genießen kann.
CdXz5zHNQW_bbTwixEEHc.png

Vorstellung von Impressions bei Netflix

Bei Netflix werden Bilder auf der Plattform als "Impressionen" bezeichnet und spielen eine entscheidende Rolle bei der Personalisierung der Benutzererfahrung. Das Erfassen und Verarbeiten dieser Impressionen ist eine komplexe Aufgabe, die ein sophisticatedes System erfordert. Das System verfolgt und verarbeitet täglich Milliarden von Impressionen, indem es eine detaillierte Historie der Exposition jedes Profils aufrechterhält. Diese Impression-Historie ist für eine verbesserte Personalisierung, Frequenzbegrenzung, die Hervorhebung neuer Veröffentlichungen und analytische Erkenntnisse von entscheidender Bedeutung. Der erste Schritt bei der Verwaltung von Impressionen besteht darin, ein Quellen-Datensatz (SOT) zu erstellen, der verschiedene Downstream-Workflows unterstützt und multiple Anwendungsfälle ermöglicht. Roh-Impression-Ereignisse werden von der Client-Seite gesammelt und durch einen benutzerdefinierten Ereignis-Extractor, Apache Kafka und Apache Iceberg verarbeitet. Die Daten werden dann gefiltert, angereichert und strukturiert unter Verwendung von Apache Flink, um eine definitive Quelle der Wahrheit für Netflix-Impression-Daten zu etablieren. Das System stellt sicher, dass hochwertige Impressionen durch das Sammeln detaillierter Metriken und das Warnen des Teams bei potenziellen Problemen bereitgestellt werden. Die Architektur ist dafür ausgelegt, eine massive Menge an Impression-Ereignissen in Echtzeit zu verarbeiten, mit einem Fokus auf Skalierbarkeit, Flexibilität und hohe Verfügbarkeit. Zukünftige Arbeiten umfassen die Bearbeitung unschematisierter Ereignisse, die Automatisierung der Leistungsoptimierung und die Verbesserung von Datenqualitäts-Alerts.

Titel: Starten von Observability im Netflix-Maßstab

Um eine reibungslose Veröffentlichung von Titeln und deren Auffindbarkeit bei Netflix sicherzustellen, ist es unerlässlich, einen Schritt zurückzutreten und den breiteren Kontext zu verstehen, bevor man Lösungen entwickelt. Dieser bedachte Ansatz schafft Widerstandsfähigkeit und Skalierbarkeit für die Zukunft. Der erste Schritt besteht darin, das größere Bild zu verstehen, indem man die Beteiligten identifiziert, die aktuelle Landschaft kartiert, das Kernproblem klärt und die Geschäftsprioritäten bewertet. Die wichtigsten Beteiligten sind Titel-Veröffentlichungs-Operatoren, Personalisierungssystem-Ingenieure, Produktmanager und kreative Vertreter. Die Kartierung der aktuellen Landschaft ergab, dass es keine etablierte Lösung für die Beobachtbarkeit von Titel-Veröffentlichungen gab, was sowohl Herausforderungen als auch Chancen bot. Das Kernproblem bestand darin, sicherzustellen, dass jeder Titel fair von der Personalisierungsstapel behandelt wird. Um dies zu erreichen, wurde ein gemeinsames Verständnis von "Titel-Gesundheit" eingeführt, das verschiedene Metriken und Indikatoren umfasst, die die Leistung eines Titels in Bezug auf Auffindbarkeit und Mitglieder-Engagement widerspiegeln. Titel-Gesundheit bot einen Rahmen, um den Lebenszyklus jedes Titels zu überwachen und zu optimieren, was eine Ausrichtung mit Partnern auf Prinzipien und Anforderungen ermöglichte, bevor Lösungen entwickelt wurden. Um einen robusten Plan für die Beobachtbarkeit von Titel-Veröffentlichungen zu erstellen, wurden Probleme in drei Hauptbereiche eingeteilt: Titel-Einrichtung, Personalisierungssysteme und Algorithmen. Durch die Kategorisierung von Problemen können Herausforderungen systematisch angegangen und eine zuverlässige, personalisierte Erfahrung für jeden Titel geliefert werden. Die Analyse der Probleme ergab, dass Einrichtungsprobleme am häufigsten vorkommen, aber am einfachsten zu beheben sind, während Algorithmusprobleme selten, aber schwer zu beheben sind. Die Bewertung von Optionen führte zu der Entscheidung, sich zunächst auf die proaktive Problemerkennung zu konzentrieren, um Probleme vor der Veröffentlichung zu erkennen und so reibungslose Veröffentlichungen, bessere Mitglieder-Erfahrungen und eine stärkere Systemzuverlässigkeit sicherzustellen. Diese Entscheidung legte den Grundstein für ein skalierbares, robustes System, das mit den Komplexitäten der ständig sich entwickelnden Plattform wachsen kann.
CdXz5zHNQW_aUcN7HOcn2.png

Teil 3: Eine Umfrage über die Arbeit im Bereich Analytics Engineering bei Netflix

Der Artikel schließt eine mehrteilige Serie über Analytics-Engineering bei Netflix ab, die sich auf handwerkliche Fähigkeiten konzentriert. Er behandelt Tipps für das Dashboard-Design, betont die Wichtigkeit des Verständnisses der Benutzerbedürfnisse und des Einsatzes bestehender Muster. Der Artikel deckt auch das Design von Dashboards ab, einschließlich der Strukturierung von Anwendungen, um den mentalen Modellen der Benutzer zu entsprechen, und bietet Richtlinien für Seitenaufbauten, interaktive Charts und Onboarding. Darüber hinaus teilt er Erfahrungen aus der Bereitstellung einer Analytics-API bei Netflix, indem er wichtige Erkenntnisse wie die Messung des Einflusses und der Notwendigkeit von Echtzeitergebnissen, die Erkundung aller verfügbaren Lösungen, die Abstimmung auf Leistungserwartungen und die Wichtigkeit von rigorösem Testen und Zusammenarbeit hervorhebt.
CdXz5zHNQW_QJdCCQ1JwJ.png

Teil 2: Eine Umfrage über die Arbeit im Bereich Analytics Engineering bei Netflix

Das Analytics Engineering Team von Netflix arbeitet an verschiedenen Projekten, darunter Spielanalysen zur Messung der Effektivität von Nutzerakquise-Kampagnen für Netflix-Spiele. Das Team verwendet ein synthetisches Kontrollmodell, um das kontrafaktische Szenario für diese Kampagnen zu schätzen, und hat ein interaktives Tool zur Bereitstellung von Erkenntnissen zu Inkrementalitätsergebnissen entwickelt. Sie arbeiten auch an einem Modell zur Berechnung des inkrementellen Return on Investment, um die Gestaltung und Budgetierung zukünftiger Kampagnen zu steuern. Darüber hinaus konzentriert sich das Team auf die Messung und Validierung inkrementeller Anmeldungen für Netflix-Spiele, wobei ein Ansatz verwendet wird, der inkrementelle Anmeldungen unter Verwendung anderer Frameworks wie der inkrementellen Bewertung der Kontolebensdauer schätzt. Die Spielerreise von Netflix Games wird auch mit einem Zustandsautomaten modelliert, um den täglichen Zustand des Automaten zu verfolgen und die Wahrscheinlichkeit von Kontoübergängen zwischen Zuständen anzuzeigen. Dieses Modell hilft bei der Bewertung des Fortschritts in Richtung Engagementziele und der Identifizierung von Bereichen zur Steigerung der monatlich aktiven Konten. Der Artikel behandelt auch die Modellierung von Content-Cashflows, wobei Netflix den Bargeldbedarf für "To Be Determined"-Slots prognostiziert, indem die täglichen Bargeldausgaben vor und nach dem Startdatum eines Titels modelliert werden. Schließlich arbeitet das Team an der Verbesserung der Effizienz des Transkriptionsprozesses in Dubbing-Workflows mithilfe von assistierter Spracherkennungstechnologie, mit einem mehrschichtigen Messrahmen zur Bewertung seiner Leistung.
CdXz5zHNQW_x65HF2Cxou.png

Vorstellung von konfigurierbarem Metaflow

Metaflow gibt Teams bei Netflix die Macht, ML/AI-Projekte effizient zu entwickeln und zu verwalten. Configs, ein neues Metaflow-Feature, ermöglicht anpassbare Flows, indem Benutzer Flussparameter, Ressourcenanforderungen und anwendungsspezifische Einstellungen in menschenlesbaren Konfigurationsdateien definieren können. Configs erweitern bestehende Metaflow-Artefakte und Parameter, bieten größere Flexibilität und Anpassungsoptionen. Sie können dynamisch geladen und modifiziert werden, sogar bei Remote-Ausführung oder Produktionsbereitstellungen. Configs schließen fort, erweiterte Anwendungsfälle zu schließen, darunter die Mischung fester Bereitstellungen mit Laufzeit-Konfigurierbarkeit, die Validierung von Konfigurationen, die Verwaltung hierarchischer Konfigurationsdateien und die Erzeugung von Konfigurationen ad hoc. In Kombination mit Konfigurationsmanagern wie Hydra ermöglichen Configs die Orchestrierung von Experimenten mit multiple Konfigurationen und die Berücksichtigung parameterreicher Räume. Metaboost, ein internes Netflix-Tool, zeigt den Praxiseinsatz von Configs, indem es ein einziges Interface für die Verwaltung von ML-Projekten auf verschiedenen Plattformen anbietet und die Kohärenz und Reduzierung des Risikos für Projekte erzielt.

Teil 1: Eine Übersicht über die Arbeit des Analyseingenieurs bei Netflix

Das Analytics-Engineering-Team von Netflix befähigt das Unternehmen dazu, qualitativ hochwertige, umsetzbare Erkenntnisse im gesamten Unternehmen effizient zu produzieren und effektiv zu liefern. Das Team hielt kürzlich eine jährliche interne Analytics-Engineering-Konferenz ab, die verschiedene Themen wie DataJunction, LORE und die Nutzung von grundlegenden Plattformdaten zur Ermöglichung von Analysen zur Cloud-Effizienz umfasste. DataJunction ist eine Open-Source-Lösung, die es ermöglicht, Metrikdefinitionen zu standardisieren und zugänglich zu machen, während LORE ein Chatbot ist, der LLMs verwendet, um Endbenutzern echte Einblicke zu geben. Das Team konzentriert sich außerdem auf die Demokratisierung von Analysen durch Initiativen wie Analytics Enablement, die darauf abzielt, Netflix-Analysepraktiker in die Lage zu versetzen, qualitativ hochwertige Erkenntnisse effizient zu produzieren und effektiv zu liefern. Ziel des Teams ist es, die Engineering-Organisation in die Lage zu versetzen, effizienzbewusste Entscheidungen beim Aufbau und bei der Wartung von Diensten zu treffen, die es Netflix ermöglichen, als Streaming-Dienst zu funktionieren.

Cloud-Effizienz bei Netflix

Netflix nutzt Amazon Web Services (AWS) für seine Cloud-Infrastrukturbedürfnisse, einschließlich Berechnung, Speicherung und Netzwerk. Die vielseitige Technologielandschaft des Unternehmens generiert umfangreiche Daten aus verschiedenen Infrastruktureinheiten, die Datentechniker und Analysten nutzen, um der technischen Organisation umsetzbare Erkenntnisse zu liefern. Die Data & Insights-Organisation arbeitet mit Technikteams zusammen, um wichtige Effizienzkennzahlen zu teilen und Stakeholdern zu ermöglichen, fundierte Geschäftsentscheidungen zu treffen. Das Platform DSE-Team hat eine aus zwei Komponenten bestehende Lösung entwickelt: Foundational Platform Data (FPD) und Cloud Efficiency Analytics (CEA). FPD stellt eine zentrale Datenschicht für alle Plattformdaten bereit, die ein konsistentes Datenmodell und eine standardisierte Datenverarbeitungsmethode bietet. CEA bietet eine Analyse-Datenschicht, die Zeitreiheneffizienzkennzahlen für verschiedene geschäftliche Anwendungsfälle bereitstellt. Das Team beabsichtigt, die Einführung von Plattformen in FPD und CEA fortzusetzen und strebt für das kommende Jahr eine nahezu vollständige Kostenübersicht an. Sie planen außerdem, FPD auf andere Bereiche des Unternehmens wie Sicherheit und Verfügbarkeit auszuweiten und durch prädiktive Analysen und ML proaktive Ansätze zur Optimierung der Nutzung und Erkennung von Kostenanomalien zu verfolgen.

Einführung der Launch-Beobachtbarkeit bei Netflix

Bei Netflix ist die Verwaltung von über tausend globalen Inhaltsstarts pro Monat oberste Priorität, wofür robuste Systeme erforderlich sind, die eine umfassende Überwachung liefern. Das Unternehmen möchte jede Geschichte mit dem richtigen Publikum verbinden, aber herkömmliche Systemmetriken wie Fehlerraten und CPU-Auslastung erfassen nicht die Nuancen des Titel Erfolgs. Um diese Lücke zu schließen, muss Netflix Systeme entwerfen, die diese Nuancen erkennen und jedem Titel die Möglichkeit geben, zu glänzen. In den frühen Tagen von Netflix Originals überprüfte das Startteam die Titelplatzierungen manuell, aber dieser Ansatz konnte mit der globalen Expansion des Unternehmens nicht skaliert werden. Infolgedessen stand Netflix vor operativen Herausforderungen bei der Bereitstellung genauer und rechtzeitiger Antworten auf komplexe Abfragen zu Titel Leistung und Erkennbarkeit. Das Unternehmen benötigte eine skalierbare Lösung, um sicherzustellen, dass jeder Titel einwandfrei startet, mit korrekt konfigurierten Metadaten und Assets, nahtlos fließenden Daten und wie vorgesehen funktionierenden Algorithmen. Um diesen Herausforderungen zu begegnen, zog Netflix zwei Optionen in Betracht: Protokollverarbeitung und Überwachung sendeseitiger Punkte in Personalisierungssystemen. Die Protokollverarbeitung bietet eine einfache Lösung für die Überwachung und Analyse von Titelstarts, weist jedoch Einschränkungen auf, wie z. B. das frühzeitige Erkennen von Problemen und die Sicherstellung der Genauigkeit. Überwachung sendeseitiger Punkte hingegen bieten Echtzeitüberwachung, proaktive Problemerkennung und erhöhte Genauigkeit, erfordern jedoch erhebliche anfängliche Investitionen und Synchronisierungsbemühungen. Letztendlich hat Netflix eine umfassende Überwachungsstrategie übernommen, die Echtzeitüberwachung, proaktive Problemerkennung und Abstimmung der Wahrheitsquelle umfasst. Dieser Ansatz hat die Fähigkeit des Unternehmens, erfolgreiche Titelstarts und Entdeckungen auf der gesamten Plattform sicherzustellen, erheblich verbessert. Im nächsten Teil der Serie wird Netflix wichtige technische Erkenntnisse und Details darüber teilen, wie sie dies erreicht haben.

Netflixx' verteilte Zähler-Abstraktion

Die verteilte Zähler-Abstraktion von Netflix ist ein Dienst, der entwickelt wurde, um große Mengen an zeitlichen Ereignisdaten mit geringen Latenzen im Millisekundenbereich zu speichern und abzufragen. Sie unterstützt zwei Hauptkategorien von Anwendungsfällen: Best-Effort und Eventually Consistent. Der Best-Effort-Zähler verwendet EVCache für hohe Durchsatzraten und geringe Latenz innerhalb einer einzelnen Region, verfügt jedoch nicht über eine Replikation und Konsistenzgarantien über Regionen hinweg. Der Eventually Consistent-Zähler verwendet ein dauerhaftes Warteschlangensystem wie Apache Kafka für genaue und dauerhafte Zählungen, kann jedoch zu Verzögerungen und Herausforderungen bei der Neubalancierung von Partitionen führen. Der Ansatz von Netflix kombiniert das Protokollieren jeder Zählaktivität als Ereignis und die kontinuierliche Aggregation dieser Ereignisse, um die Anforderungen an Auditing und Neuzählung zu erfüllen.

Untersuchung eines Problems mit der Latenz der Workbench-Benutzeroberfläche

Ein Benutzer meldete, dass seine JupyterLab-Oberfläche auf seinem Arbeitsplatz langsam und unreaktiv wird, wenn bestimmte Notebooks ausgeführt werden. Um die Langsamkeit zu quantifizieren, haben wir eine Taste für 15 Sekunden gedrückt, während das Notebook des Benutzers lief, und Latenzen zwischen 1 und 10 Sekunden beobachtet, mit einem Durchschnitt von 7,4 Sekunden. Wir haben CPU-Überzeichnung und Netzwerkprobleme als mögliche Ursachen ausgeschlossen. Mit py-spy haben wir festgestellt, dass viel CPU-Zeit für eine Funktion namens __parse_smaps_rollup im jupyter-lab-Prozess aufgewendet wurde. Diese Funktion ist Teil der jupyter_resource_usage-Erweiterung, die zum Abrufen von Ressourcennutzungsinformationen verwendet wird. Die Funktion wird durch einen API-Endpunkt ausgelöst, der periodisch von der Oberfläche aufgerufen wird. Der Code ruft alle untergeordneten Prozesse des jupyter-lab-Prozesses rekursiv ab, einschließlich des ipykernel-Notebook-Prozesses und aller vom Notebook erstellten Prozesse. Die Kosten dieser Funktion sind linear zum Anzahl aller untergeordneten Prozesse. Im Reproduktionscode erstellen wir 96 Prozesse, was mehr als die 64 CPUs sind, die dem Container zugewiesen sind. Diese Diskrepanz verursacht, dass der übergeordnete Prozess langsam wird.