Leçons de Netflix, Ted Sarandos et Reed Hastings – Partie II
Fans Netflix était le plus grand utilisateur de la bande passante Internet mondiale. Vous pouvez imaginer tous ces millions d’utilisateurs qui regardent sans cesse des saisons et des saisons de vidéo HD ou 4K. Mais en 2019, il a pris la deuxième place juste après le «streaming multimédia HTTP». Le streaming multimédia HTTP représente principalement les chaînes de télévision et les réseaux câblés offrant leur propre diffusion en direct en ligne. Avec 12,9% de la bande passante Internet, Netflix est toujours devant le troisième fournisseur de streaming vidéo YouTube.
Pendant les périodes de pointe courtes, Netflix est même connu pour utiliser près de la moitié de toute la bande passante Internet. Du point de vue de l’ingénierie, c’est un exploit incroyable que Netflix puisse offrir une telle qualité de streaming aux utilisateurs à tout moment. Personne n’a jamais de problèmes avec le streaming Netflix, du moins à cause de la faute de Netflix. De nos jours, si vous rencontrez des problèmes, il s’agit probablement d’un problème de connectivité sur votre appareil ou avec votre fournisseur de services Internet.
Mais le streaming n’était pas toujours aussi bon. En fait, en 2008, Netflix avait des problèmes constants pour fournir des flux fiables aux utilisateurs. C’est bien avant l’adoption massive, bien avant des millions d’heures de streaming. Même au début du service de streaming, avec seulement quelques millions d’utilisateurs, il était clair que l’ancien système de Netflix ne pouvait pas fournir l’accord de niveau de service qu’il voulait respecter.
L’une des priorités les plus importantes pour de nombreux prestataires de services essentiels est la disponibilité du service. Tout comme les salles d’urgence sont disponibles 24h / 24 et 7j / 7 grâce à la programmation des employés. Les systèmes informatiques tels que les centres de données et Netflix doivent être disponibles pour l’entretien en tout temps. Cette fonctionnalité d’un système est appelée haute disponibilité.
Les pannes de service fréquentes que Twitter et Netflix affichaient fréquemment étaient ennuyeuses pour les utilisateurs et pouvaient conduire à une baisse rapide de l’abonnement et de l’utilisation si elles n’étaient pas traitées rapidement et de manière permanente. Netflix utilisait un système monolithique qui avait un seul point de défaillance, et pour le diagnostiquer et le réparer, il devait maintenir le serveur hors service pendant des jours. Il a donc décidé de rendre leur service distribué afin de le rendre hautement disponible. Pour ce faire, Netflix est passé à ce qu’on appelle l’architecture de microservice.
Comme vous pouvez l’imaginer, tout comme les premiers jours où les magasins de location de vidéos avaient des pics d’activité en dehors des heures de travail, la demande de service actuelle de Netflix « pic et vallée » toute la journée. Pendant les petites heures du matin, seuls quelques millions de personnes pourraient regarder tandis que pendant les heures de pointe entre 19 et 21 heures, la plupart des 60 millions d’abonnés américains pourraient être à l’écoute. Cela représente une opportunité pour l’entreprise d’économiser de l’argent.
La possibilité de faire évoluer votre service de haut en bas en fonction de la demande d’utilisation est appelée évolutivité. Si une instance de serveur peut desservir 1 million d’utilisateurs, il n’est pas nécessaire d’en activer 100, lorsqu’ils ne sont pas nécessaires, pendant les périodes d’arrêt. Mais cela nécessite que le système soit capable de détecter la demande et de générer rapidement de nouvelles instances pour répondre à la demande.
Être en mesure de répondre à la demande exactement où elle se trouve rapidement est l’un des nombreux indicateurs d’un système hautement efficace. Une autre caractéristique du système distribué de Netflix est sa haute tolérance aux pannes. Au début, même une petite erreur pouvait et devait arrêter l’ensemble du service, alors que des instances plus petites et indépendantes limitent désormais l’exposition à une panne totale du système. De plus, si une ou quelques instances devaient tomber, comme elles le font tout le temps, il existe des mécanismes pour créer de nouvelles instances de ce type spécifique d’instances afin qu’il n’y ait pas d’interruption de service.
Les utilisateurs de Netflix téléchargent principalement des vidéos sur leurs appareils, ce type de streaming est appelé bande passante en aval. Pour s’assurer que les flux parviennent aux utilisateurs sans interruption, Netflix utilise des CDN. Les réseaux de diffusion de contenu mettent en cache et stockent les vidéos à proximité de l’utilisateur. Par exemple, si un utilisateur de Seattle demande une vidéo, le CDN le plus proche de Californie pourrait le servir, au lieu de l’Australie.
Pour Internet, l’architecture du CDN sert un objectif important. Au lieu de placer un centre commercial géant au milieu de la ville, vous placez plusieurs petits centres commerciaux dans plusieurs quadrants de la ville et vous répartissez dynamiquement les marchandises dans les centres commerciaux en fonction de la demande. En rapprochant les données des personnes, vous pouvez voir comment cela pourrait réduire le trafic que vous pourriez rencontrer en allant au centre-ville aux heures de pointe. Loin des autoroutes Internet et plus près des rues et des avenues.
Blog technique Netflix est l’un des meilleurs endroits sur Internet pour savoir à quel point la technologie peut être approfondie et compliquée lorsqu’elle est appliquée à un ensemble spécifique de problèmes. Et comment Netflix améliore actuellement ses services, souvent en parlant d’améliorations en millisecondes.
Dans l’ensemble, l’infrastructure cloud moderne de Netflix vise principalement à réduire le nombre de choses qui peuvent casser et répartir toutes les responsabilités sur plusieurs instances afin qu’il n’y ait pas de point de défaillance unique.