Fin de la migration de Netflix vers le cloud

Notre épopée vers le cloud a commencé en août 2008, quand notre base de données a été corrompue au point de nous empêcher d’envoyer les DVD à nos abonnés. Nous avons alors compris que nous devions nous dégager des points de défaillance uniques à évolutivité verticale, c’était le cas des bases de données relationnelles de notre centre de données, pour privilégier des systèmes distribués fiables, à évolutivité horizontale, dans le cloud. Nous avons choisi Amazon Web Services (AWS) comme fournisseur parce qu’il offrait le plus large éventail de possibilités, de services et de fonctionnalités. La majorité de nos systèmes, y compris les services côté client, ont été transférés vers le cloud avant 2015. Nous voulions cependant prendre le temps de concevoir dans le cloud une version sécurisée et durable de notre infrastructure de facturation ainsi que de tous les aspects de la gestion des abonnés et des employés. Nous sommes heureux d’annoncer qu’au début du mois de janvier 2016, après sept ans d’efforts, nous avons enfin terminé notre migration vers le cloud et fermé les derniers centres de données utilisés par notre service de streaming !

Cette transition vers le cloud offre de nombreux avantages à Netflix. Nous avons huit fois plus d'abonnés qu'en 2008 et leur utilisation du service est beaucoup plus intensive, car ils regardent nos programmes en streaming trois fois plus qu’il y a huit ans.

Le produit Netflix a continué à évoluer rapidement, incorporant de nombreuses fonctionnalités gourmandes en ressources et reposant sur un volume de données en augmentation constante. Faire face à une croissance aussi rapide aurait été extrêmement difficile avec nos centres de données, nous n'aurions pas pu réorganiser les serveurs assez vite. La souplesse du cloud nous permet au contraire d'ajouter des milliers de serveurs virtuels et de pétaoctets de stockage en quelques minutes, rendant ainsi notre expansion possible. Le 6 janvier 2016, Netflix s'est déployé dans 130 nouveaux pays, devenant de ce fait le leader mondial de la TV en streaming. L'utilisation de plusieurs régions de cloud AWS réparties dans le monde entier nous permet de déplacer et de développer nos capacités d'infrastructure mondiales de façon dynamique afin de créer une expérience de streaming plus efficace et agréable pour les abonnés Netflix, où qu'ils se trouvent.

Nous nous reposons sur le cloud pour tous nos besoins informatiques et de stockage qui sont par nature évolutifs : logique métier, bases de données distribuées et traitement et analyse des métadonnées, recommandations, transcodage ainsi que les centaines d'autres fonctionnalités qui composent l’application Netflix. La vidéo est fournie par le biais de Netflix Open Connect, notre réseau de diffusion de contenu distribué dans le monde entier afin de fournir nos bits efficacement aux appareils de nos abonnés.

Le cloud a aussi permis d'améliorer de façon considérable la disponibilité du service. Nos centres de données subissaient des pannes de courant et si nous avons eu quelques difficultés inévitables dans le cloud, surtout au début de la migration, la disponibilité générale du service s'est constamment améliorée pour approcher notre objectif visé de quatre neuf. Les défaillances sont inévitables dans tout système distribué important, même dans le cloud. Le cloud permet néanmoins de concevoir des services très fiables à l'aide de composants fondamentalement non fiables, mais redondants. En incorporant les principes de redondance et de dégradation progressive dans notre architecture, et en effectuant régulièrement et soigneusement les opérations de maintenance à l'aide de Simian Army, il est possible de survivre aux défaillances de l'infrastructure du cloud et de nos propres systèmes sans que l'expérience utilisateur en souffre.

Ce n'est pas la réduction des coûts qui nous a poussés à migrer vers le cloud. Il se trouve cependant que les coûts du cloud par lancement de streaming ne représentent qu'une fraction de ceux d'un centre de données, ce qui constitue un avantage supplémentaire appréciable. La souplesse du cloud nous permet d'optimiser constamment la combinaison de types d'instances, ainsi que d'augmenter et de réduire notre encombrement presque instantanément sans que nous ayons à gérer une grande capacité tampon. Nous faisons aussi des économies d'échelle que seul un écosystème cloud conséquent peut offrir.

Les avantages du cloud étant évidents, pourquoi nous a-t-il fallu sept ans pour terminer cette migration ? La transition vers le cloud a représenté un travail de Titan et il a fallu prendre de nombreuses décisions difficiles en chemin. Il est sans doute plus aisé de migrer vers le cloud en transférant tous les systèmes, sans les modifier, du centre de données vers AWS. Mais procéder ainsi revient à transférer tous les problèmes et toutes les limites du centre de données. Nous avons donc préféré une approche émanant du cloud, reconstruit presque toute notre technologie et modifié en profondeur notre façon de faire fonctionner l'entreprise. Côté architecture, nous sommes passés d'une application monolithique à des centaines de microservices et nous avons dénormalisé notre modèle de données avec des bases de données NoSQL. L'approbation des budgets, la coordination centralisée des versions et les cycles de plusieurs semaines d'approvisionnement matériel ont cédé la place à la livraison en continu, des équipes d'ingénieurs prenant des décisions de manière indépendante grâce à des outils libre-service et dans un environnement DevOps qui demande peu de coordination, le tout favorisant l'innovation. Il a fallu construire de nombreux systèmes inédits et acquérir de nouvelles compétences. Il a fallu du temps et des efforts pour transformer Netflix en entreprise émanant du cloud, mais cela nous met dans une bien meilleure position pour poursuivre notre développement et devenir un réseau de télévision mondial.

La technologie de streaming de Netflix a fait du chemin ces dernières années et c'est très gratifiant de ne plus être entravés par ce qui nous contraignait auparavant. Le cloud étant toujours une nouveauté pour nombre d'entre nous dans ce secteur, il reste encore beaucoup de questions et de problèmes à régler. Grâce à des initiatives telles que Netflix Open Source, nous espérons pouvoir continuer à collaborer avec les plus grands experts en technologie afin de relever ces défis ensemble.

-Yury Izrailevsky, Stevan Vlaovic et Ruslan Meshenberg

Plus : Blog de l'entreprise

Une approche mondialisée des recommandations

Quand Netflix s'est ouvert à 130 nouveaux pays en janvier, nous voulions que notre service fonctionne dans le monde entier, et cela impliquait de résoudre de nombreux problèmes techniques par une approche mondiale. Lire la suite

Haut