Avec Spinnaker, Netflix déploie en continue et en multi-Cloud
Publié par Jacques Cheminat le | Mis à jour le
Netflix a présenté un outil Open Source, baptisée Spinnaker. Il vise à faciliter le déploiement en continu des modifications de code dans plusieurs Cloud, AWS, Microsoft ou Google.
Après avoir mis un peu d'ordre dans sa stratégie Open Source, Netflix continue de partager ses connaissances et son expertise dans plusieurs domaines. Aujourd'hui, le spécialiste de la vidéo à la demande (VoD) propose Spinnaker, un outil Open Source pour faire du déploiement continu de modification de code logiciel fonctionnant dans le Cloud.
Il ne s'agit pas d'une première, car depuis un an Netflix travaille sur un projet nommé Asgard avec les mêmes caractéristiques et uniquement disponible sur Amazon Web Services. L'infrastructure informatique de Netflix repose sur le Cloud d'AWS pour diffuser 10 milliards d'heures de diffusion par mois aux 60 millions d'abonnés. Les équipes IT et de développement ont donc acquis une compétence pour le déploiement d'applications dans le Cloud public.
Une solution multi-Cloud
Avec Spinnaker, Netflix fait des infidélités à Amazon pour faire évoluer l'offre Asgard à d'autres fournisseurs de Cloud comme Google et Microsoft, ainsi qu'à des sociétés comme Pivotal, spécialisée dans le PaaS. Andrew Glover, superviseur du projet, indique dans un blog que le partenariat avec Google n'augure pas d'une migration des infrastructures de Netflix sur Cloud Platform, mais que le Cloud donne cette possibilité de basculer des charges de travail d'un endroit à un autre. Les deux partenaires travaillent depuis un an sur ce service d'intégration continue (continuous delivery). Les ingénieurs de Netflix travaillent aussi avec Pivotal qui souhaite que Spinnaker puisse déployer du code depuis Cloud Foundry. Enfin, ils se sont rapprochés de Microsoft pour assurer l'interopérabilité du projet avec Azure.
Dans le détail, Spinnaker facilite la création de pipelines, qui représente le processus de delivery en commençant par des éléments comme une image machine, un fichier Jar ou une image Docker et se termine avec le déploiement (cf schéma ci-dessous).
Par exemple, avec ces pipelines, il est possible déployer une version de test d'un nouveau logiciel sur certains serveurs tandis que l'ancienne version continue à fonctionner sur d'autre serveurs. Cette méthode est appelée Blue/Green ou Red/Black en version Netflix. Avec Spinnaker, si la version de test ne marche pas, il est possible de revenir sur l'ancienne. Une méthode qui prend tout son sens quand on déploie des versions différentes sur plusieurs Cloud. Le tout est administrable via une console de management.
A lire aussi :
Avec Sleepy Puppy, Netflix traque les failles XSS inter-applications
Netflix sera bientôt à 100% Cloud