23
2018
4 leçons critiques Les administrateurs de DevOps peuvent apprendre du voyage en conteneurs de Netflix
Il est difficile de transformer une grande entreprise informatique. Les applications qui saignaient à la limite écrite deviennent légitimes en quelques années seulement.
Prenez le web-scaler Netflix, par exemple. Netflix reste un excellent exemple d’organisation qui exploite le cloud public pour des opérations étendues. La plupart des applications de Netflix sont principalement exécutées sur des machines virtuelles, mais l’entreprise a récemment entrepris de fournir des conteneurs en option dans son infrastructure. Voici quatre leçons à tirer de leur expérience.
1. Gouvernance
Netflix est une organisation ascendante. La gouvernance a conduit bon nombre de leurs décisions de conception d’orchestration de conteneur. Les opérations ne dictaient pas quelles applications devaient être déployées dans des conteneurs. Il revenait aux équipes d’application individuelles de déterminer quels services étaient placés dans des conteneurs et quelles applications restaient dans des machines virtuelles.
Les entreprises devraient toujours commencer par la gouvernance lorsqu’elles envisagent une stratégie de conteneur. J’ai vu de nombreuses entreprises déployer la technologie cloud native uniquement pour la voir inutilisée. Le principal défi est la culture. Soit il n’y a pas d’incitation à adopter la technologie, soit pas de parrainage pour forcer l’adoption. Dans le cas de Netflix, la motivation de l’équipe de conteneur a commencé par fournir de la valeur à leur communauté d’applications.
2. Kubernetes contre Titus
Netflix a raconté leur voyage en conteneurs dans un papier blanc . L’exécution de conteneurs à grande échelle nécessite une orchestration, et Netflix a commencé son voyage vers le début du projet open source Kubernetes. Netflix devait décider s’il construirait sa propre plate-forme d’orchestration ou adopterait une plate-forme existante.
Netflix a choisi de créer une plate-forme d’orchestration de conteneur dédiée appelée Titus. Alors que Netflix prétend que la plupart des entreprises cherchent à écrire des applications greenfield sur de nouvelles plates-formes de conteneurs telles que Kubernetes, son équipe voulait également prendre en compte les applications existantes. Par conséquent, Netflix a choisi de construire son système de gestion de conteneurs Titus au-dessus de Mesophere.
Aujourd’hui, Kubernetes a un large soutien pour les applications de friches industrielles. Par exemple, Docker Swarm intègre désormais Kubernetes dans les grappes Swarm. En outre, les équipes opérationnelles peuvent déployer des applications héritées dans des conteneurs Docker et déployer les conteneurs sur des clusters Kubernetes.
3. Réseautage de conteneurs
Les organisations doivent réfléchir longuement au réseautage des conteneurs. La mise en réseau est particulièrement importante lorsque les organisations conçoivent des interactions d’applications entre des applications héritées. Titus de Netflix a permis au réseau de conteneur à conteneur de conserver l’espace d’adressage IP. La solution permet également de placer les conteneurs directement sur l’espace d’adressage réseau routable des applications existantes.
Une approche courante dans les déploiements d’entreprise de conteneurs consiste à adopter une superposition réseau. Tous les principaux fournisseurs de réseaux, tels que VMware, Cisco, Juniper, Extreme Networks et Big Switch, offrent le support de conteneur Kubernetes. Chaque solution se branche sur Kubernetes pour permettre à la fois le support de superposition et le support de sécurité. Et les applications peuvent utiliser des API réseau Kubernetes natives pour contrôler les stratégies de sécurité.
4. Nuage public
Comme indiqué dans une précédente Tech Republic poster , Netflix est un très grand consommateur d’Amazon Web Services (AWS). Bien que l’intégration avec AWS Identity and Access Management (IAM) s’avère un défi opérationnel. Dans Titus, Netflix a créé un service proxy qui permet aux applications existantes de rester inchangées. Titus exploite les rôles IAM pour permettre à un seul nœud Titus d’adopter un rôle IAM pour les conteneurs s’exécutant sur le nœud. Dans le cadre du placement de la charge de travail, Titus doit prendre en compte la sécurité de l’IAM.
Une autre considération est de tirer parti des instances EC2 en tant qu’hôtes de conteneur. Avant l’adoption du conteneur, Netflix a été confronté à l’inefficacité de EC2. Les conteneurs permettent à Netflix de découper des instances EC2 en unités plus petites en plaçant plusieurs charges de travail dans une même instance EC2. Netflix a ainsi vu un niveau d’efficacité plus élevé.