Les coulisses techniques de Netflix : La plateforme compte aujourd’hui plus de 110 millions d’abonnés dans plus de 200 pays différents. La façon dont fonctionne Netflix lorsque vous appuyer sur « Play » est beaucoup plus complexe qu’elle n’y parait.

En effet, puisque ses clients peuvent se désabonner de la plateforme à tout moment, il est important pour Netflix que lorsqu’un internaute souhaite regarder sa série préférée, qu’elle se lance rapidement et avec la meilleure qualité possible.

Les débuts de Netflix

Netflix a été lancé en 1998 et était au début un loueur de DVD en ligne. On pouvait alors réserver un film ou une série qui était ensuite envoyée par voie postale.

C’est alors en 2007 que l’entreprise lance son service de VOD permettant aux abonnés de regarder films et séries sur PC, smartphones, tablettes ou encore consoles de jeux vidéos. La plateforme de streaming a donc commencé par monter ses propres datacenters. Netflix s’est donc vite rendu compte que la tâche demandait beaucoup de travail et de temps. De plus, la société grossissait déjà très vite et l’équipement installé devenait vite insuffisant. L’entreprise avait alors adopté une stratégie  » d’évolutivité verticale », c’est-à-dire d’accroître la capacité du matériel et du logiciel existant.

En 2008, la base de données de Netflix a été corrompue au point d’empêcher l’entreprise d’envoyer les DVD aux abonnés. La plateforme a donc compris après cet incident technique grave qu’ils devaient se délaisser de leurs datacenters présentant des points de défaillances pour se déporter dans le cloud.

Migration vers le cloud

En choisissant de se déporter dans le cloud, et plus précisément dans les services de cloud AWS d’Amazon, Netflix profiterait ainsi d’un système plus fiable, avec une grande capacité de stockage et de plus, redondant. La plateforme a donc mis 8 ans pour transférer l’ensemble de ses données de ses datacenters vers AWS.

Grâce au cloud AWS d’Amazon, la plateforme de streaming devint beaucoup plus fiable et donc le risque de pannes très faible. En effet, grâce au cloud, Netflix opère dans 3 zones géographiques (Virginie, Oregon et Irlande), au sein de chaque région, Netflix opère également dans 3 zones différentes. Ainsi, si une des régions est défaillante, les autres peuvent prendre le relais le temps de résoudre la panne.

Le risque de panne du service AWS est faible mais Netflix exécute des tests mensuels, pour simuler une panne d’une région. En général, une région qui tombe en panne peut être « évacuée » par une autre en 6 minutes. L’autre avantage de cette présence dans différentes régions est que Netflix offre un service le plus rapide possible partout dans le monde. L’entreprise est donc pionnière dans cette usage du cloud permettant d’avoir un service fiable et rapide.

De plus, la société a su économiser beaucoup d’argent en utilisant cette solution dans le cloud car l’autre avantage du cloud est son élasticité. Au lieu de payer cher de nombreux serveurs qui ne vont pas toujours servir, Netflix adapte constamment son nombre de serveurs dont elle a besoin selon le trafic sur la plateforme. La plateforme peut donc à tout moment ajouter ou supprimer des serveurs et payer pour uniquement ce dont elle a besoin.

Les fonctionnalités de AWS utilisées par Netflix

Netflix utilise les services AWS pour tout, sauf ce qui concerne la diffusion de vidéo. AWS est donc utilisé pour ses capacités de calcul évolutives (EC2), de stockage évolutives (S3), de « business logic », pour ses bases de données distribuées évolutives, pour de la big data ou encore l’encodage des vidéos.

Netflix utilise ainsi AWS pour stocker par exemple vos informations personnelles (nom, prénom, méthode de paiement, votre historique…), pour vous suggérer des séries ou des films à l’aide de big data et de « machine learning », ou encore pour personnaliser les bannières que vous voyez. En effet, les bannières de vos séries préférées que vous pouvez voir sur la plateforme sont sélectionnées selon votre profil. Par exemple, si préférez les comédies ou les films romantiques, la bannière affichée ne sera pas la même.

Ensuite, avant de vous envoyer le flux vidéo, Netflix doit encoder la vidéo. Selon le support (PC, smartphone…) sur lequel vous souhaitez regarder cette dernière, la plateforme doit l’encoder dans un format spécifique compatible, pour que vous puissiez la regarder avec la meilleure qualité possible. Au total, ce sont pas moins de 300 000 processeurs qui sont utilisés pour encoder l’ensemble des vidéos.

Mais avant d’encoder ces vidéos, Netflix doit auparavant effectuer plusieurs processus. Après réception des vidéos par les studios, Netflix doit les valider pour vérifier qu’elles ne soient pas corrompues, qu’il manque des images ou qu’elle présente des problèmes de colorimétrie. Ensuite, elles sont traitées à l’aide d’un « média pipeline » qui permet d’encoder les vidéos, pesant jusqu’à plusieurs térabits, beaucoup plus rapidement.

C’est ensuite qu’intervient l’encodage des vidéos. Plusieurs fichiers sont donc créés pour offrir la meilleur qualité possible selon votre terminal, votre vitesse de connexion, votre abonnement Netflix. Plusieurs fichiers sont aussi créés pour les différents langages et sous-titres proposés. Au total, pour la saison 2 de Stranger Things, ce sont pas moins de 9570 fichiers vidéos, audios et textes qui ont été créés.

L’envoi du flux vidéo

Ensuite, la plateforme de streaming doit donc vous diffuser le contenu. Pour cela, Netflix est passée par 3 technologies différentes. La dernière et la meilleure qu’elle utilise actuellement et que Netflix a développé elle-même est appelée « Open Connect ». « Open Connect » est donc un CDN (Content distribution network), c’est un ensemble de serveurs interconnectés, situés à des emplacements différents, qui « travaillent » entre eux afin d’envoyer le contenu, ici la vidéo, aux utilisateurs. Ici, « content » correspond donc aux fichiers vidéos expliqués juste auparavant, « distribution » signifie que ces fichiers stockés dans le service AWS S3 d’Amazon sont copiés dans des serveurs tout autour du globe.

Le CDN permet donc de « rapprocher » les abonnés de Netflix du contenu pour une connexion plus rapide et plus fiable. Ainsi, lorsque vous voulez voir une série, la plateforme cherche le serveur le plus proche de chez vous sur lequel elle y est.

En effet, imaginez que vous souhaitiez regarder un film à partir de Paris ou encore Londres et que ce dernier était stocké à Portland aux Etats-Unis, la connexion serait lente et non fiable car devriez certainement passer par des câbles sous-marins et de nombreux réseaux différents. Ainsi, grâce au CDN, le catalogue (entier ou non selon le type de CDN) de Netflix est copié sur un ensemble de serveurs (appelés OCA) beaucoup plus proches de vous. En revanche, comme nous l’avons évoqué, Netflix ne possède pas ses propres datacenters. Les opérateurs et Netflix signent donc généralement des accords pour que des serveurs (OCA) soient installés dans leur réseau mais Netflix peut aussi les installer près des points d’échanges Internet (IXP).

Serveurs OCA : CDN utilisant Open Connect, développé par Netflix

Ces serveurs OCA sont donc optimisés pour la diffusion de vidéos : ils sont rapides et possèdent de très grandes capacités de stockage. Il y en a différents types : certains peuvent contenir l’entièreté du catalogue Netflix et certains n’en contiennent qu’une partie.  Pour les plus petits OCA, situés généralement plus proches des abonnés car installés sur le réseau des opérateurs, qui ne peuvent pas contenir le catalogue entier, Netflix utilise l’ensemble des données des abonnés pour prédire quel contenu sera le plus populaire et donc le plus demandé. Ainsi, chaque nuit les serveurs OCA « demandent » au service AWS S3 les vidéos qui seront populaires pour qu’elles soient copiées et donc rapprochées de vous. En revanche, même si un abonné demande un film qui n’a pas été prédit comme populaire et qui n’est donc pas copié dans les « petits » OCA, ce sont les plus grands serveurs contenant l’entièreté du catalogue qui prendront le relai. De plus, les serveurs sont indépendants et si un d’entre eux tombe en panne, c’est un autre serveur qui prend également le relai.

Source : highscalability.com

Pour signaler une erreur dans l’article, surlignez le passage en question et pressez les touches Ctrl+Entrée de votre clavier.