Netflix_Customer-Reference_Logo@2x

Étude de cas : Netflix et Amazon Kinesis Data Streams

2017

Avec plus de 100 millions d'utilisateurs dans le monde et plus de 125 millions d'heures de programmes visionnées par jour, Netflix est le leader mondial de la télévision sur Internet, proposant notamment des séries originales, des documentaires et des films. Ses abonnés peuvent regarder autant de programmes qu'ils le souhaitent, à tout moment, de n'importe quel endroit, sur quasiment n'importe quel écran connecté à Internet.

démarrer un tutoriel python
kr_quotemark

Amazon Kinesis Data Streams traite plusieurs téraoctets de données de journaux quotidiennement. Pourtant, les événements apparaissent dans nos analyses en quelques secondes. Nous pouvons détecter et corriger des problèmes en temps réel, garantissant ainsi une haute disponibilité et une expérience client exceptionnelle. »

John Bennett
Ingénieur logiciel responsable chez Netflix

Surveillance d'applications à très grande échelle

Netflix utilise Amazon Web Services (AWS) pour presque tous ses besoins de calcul et de stockage, y compris les bases de données, les analyses, les moteurs de recommandations, le transcodage vidéo et bien plus encore. Des centaines de fonctions qui utilisent au total plus de 100 000 instances de serveur sur AWS.

Cela résulte en un environnement de réseau dynamique et très complexe, où les applications communiquent constamment au sein d'AWS et sur Internet. La surveillance et l'optimisation de son réseau sont essentielles pour Netflix qui continue d'améliorer l'expérience client, d'augmenter l'efficacité et de réduire les coûts. Plus précisément, Netflix avait besoin d'une solution pour ingérer, enrichir et analyser les multiples téraoctets de données que son réseau génère quotidiennement sous la forme de journaux de flux VPC (Virtual Private Cloud). Cela permettrait à Netflix d'identifier des opportunités d'amélioration des performances, par exemple en identifiant des applications qui communiquent sur l'ensemble des régions pour les colocaliser. La société souhaite également accroître le temps de disponibilité en détectant et en diminuant rapidement le temps d'arrêt des applications.

Chaque enregistrement de journal comporte des informations sur les communications entre les deux adresses IP. Cependant, dans un environnement dynamique comme celui de Netflix, où une adresse IP peut flotter entre des applications d'un jour à l'autre, ou même d'une minute à l'autre, les adresses IP seules n'ont pas une grande signification. « Les sources de données que nous avions avant de prendre cette initiative ne présentaient qu'un seul côté, explique John Bennett, ingénieur logiciel responsable chez Netflix. Nous pouvions savoir qu'une application était connectée à d'autres, mais nous ne connaissions pas les deux côtés de l'échange et comment optimiser ces communications ou le placement des applications sur le réseau. »

Netflix a décidé d'établir une nouvelle source de données pouvant lui donner plus d'informations sur les communications entre les applications et les régions en combinant les journaux de flux VPC à des métadonnées d'application.

Centralisation des journaux de flux à l'aide d'Amazon Kinesis Data Streams

Dès le départ, AWS a permis à Netflix d'expérimenter chacune des différentes approches pour analyser ses données réseau. « Au début du processus de conception, la flexibilité d'essayer divers traitements des données était importante, poursuit M. Bennett. Nous avons expérimenté plusieurs conceptions et utilisé de nombreux produits AWS pour y parvenir. »

La solution qu'a déployé Netflix au final, appelée en interne Dredge, centralise les journaux de flux en utilisant Amazon Kinesis Data Streams. L'application lit les données à partir d'Amazon Kinesis Data Streams en temps réel et enrichit les adresses IP avec les métadonnées d'application pour fournir une image complète de l'environnement réseau. « Habituellement, nous placerions les données dans une base de données, qui créerait un index afin d'interroger plus rapidement, » ajoute M. Bennett. La solution Dredge joint les journaux de flux à des métadonnées d'application, car elle les diffuse et les indexe en utilisant une base de données, ce qui simplifie beaucoup les choses. »

Les données enrichies atterrissent dans une application d'analyse en open source appelée Druid. Netflix utilise la fonctionnalité d'interrogation OLAP de Druid pour découper rapidement les données en régions, en zones de disponibilité et en périodes pour les visualiser et obtenir ainsi plus d'informations sur le comportement du réseau et ses performances.

AWS était le choix logique pour Dredge en partie parce que les données résidaient déjà dans le cloud AWS. « Cela aurait été décourageant de publier, de diffuser et d'utiliser autant d'informations à partir d'un système externe tel que Kafka, déclare M. Bennett. Seuls quelques appels d'API ont suffi pour centraliser plusieurs téraoctets de journaux de flux dans Amazon Kinesis Data Streams. Maintenant, nous pouvons nous concentrer sur l'obtention d'informations détaillées sur les données plutôt que de simplement y accéder. »

La scalabilité d'Amazon Kinesis Data Streams était idéale pour l'application Dredge face à la nature cyclique et élastique de l'utilisation du réseau chez Netflix. « Lorsqu'il s'agit de nos données réseau, il est plus économique de pouvoir s'adapter et mettre à l'échelle notre infrastructure, ce qui n'est pas facile à faire avec d'autres solutions qu'Amazon Kinesis Data Streams, » ajoute M. Bennett. 

Diagramme d'architecture

netflix_arch_diagram

Amélioration de l'expérience client avec la surveillance du réseau en temps réel.

La solution Amazon Kinesis Data Streams s'est révélée hautement évolutive. Elle traite chaque jour des milliards de flux de trafic. Typiquement, environ 1 000 partitions Amazon Kinesis s'exécutent en parallèle pour traiter le flux de données. « Amazon Kinesis Data Streams traite plusieurs téraoctets de données de journaux quotidiennement. Cependant, les événements apparaissent dans nos analyses en quelques secondes, déclare M. Bennett. Nous pouvons détecter et corriger des problèmes en temps réel, garantissant ainsi une haute disponibilité et une expérience client exceptionnelle. »

Netflix est désormais capable d'identifier de nouvelles façons d'optimiser ses applications, que ce soit en déplaçant une application depuis une région vers une autre ou en passant à un protocole réseau plus approprié pour un type de trafic spécifique. « Notre solution créée sur Amazon Kinesis nous permet d'identifier des manières d'accroître l'efficacité, de réduire les coûts et d'améliorer la résilience , afin d'offrir la meilleure expérience client possible, » ajoute M. Bennett.

Bien qu'une solution de données en streaming ne soit pas nouvelle dans le secteur informatique, c'est une réelle innovation dans le domaine des réseaux. « Netflix a beaucoup investi dans AWS en partie parce que cela soustrait le réseau sous-jacent, afin que nous n'ayons pas à gérer de commutateurs ni de routeurs, conclut M. Bennett. Nous surveillons, analysons et optimisons à un niveau supérieur dans la pile, de manières que nous n'aurions jamais pu envisager si nous exécutions nos propres datacenters. »


À propos de Netflix

Avec plus de 100 millions d'utilisateurs dans plus de 190 pays et plus de 125 millions d'heures de programmes visionnées par jour, Netflix est le leader mondial de la télévision sur Internet.

Avantages d'AWS

  • Traite et enrichit plusieurs téraoctets chaque jour, représentant des milliards d'événements, avec des temps de réponse de moins d'une seconde pour les requêtes d'analyse
  • Très rentable par rapport aux solutions concurrentes
  • Liberté d'expérimenter avec l'architecture du système pour obtenir la solution la plus efficace
  • Ingestion des données initiée avec juste quelques appels d'API
  • Solution hautement élastique avec près de 1 000 partitions Amazon Kinesis fonctionnant en parallèle

Services AWS utilisés

Amazon Kinesis Data Streams

Amazon Kinesis Data Streams (KDS) est un service de diffusion de données en temps réel extrêmement scalable et durable.

En savoir plus »


Démarrer

Les entreprises de toute taille et de tous les secteurs d'activité transforment chaque jour leurs activités à l'aide d'AWS. Contactez nos spécialistes et entamez votre transition vers le Cloud AWS dès aujourd'hui.