Après avoir vu dans une première partie comment Bloomberg avait intégré Kubernetes en production, voici deux autres exemples.
News UK : évoluer à la demande
Depuis 2017, la branche britannique de News Corp, le géant des médias, s'intéresse à Kubernetes. En 2018, News UK passe de ses propres clusters Kubernetes personnalisés à Elastic Kubernetes Service (EKS), le service managé d’Amazon Web Services. La pile comprend également d’autres services d’AWS, dont Elastic Container Service, le moteur de calcul Fargate, AWS Batch et Elastic Beanstalk. Dans cet environnement Kubernetes managé, News UK a d’abord migré un ancien système Java pour le contrôle d'accès et la connexion des utilisateurs. C’était la première application que l’entreprise mettait en production. Une fois que l'environnement s'est avéré suffisamment robuste, News UK a commencé à sélectionner et à migrer régulièrement d'autres applications.
Lors de l'événement New Relic's London Futurestack organisé en début d’année, Marcin Cuber, ancien ingénieur devops cloud de News UK, a déclaré que « sur le plan opérationnel, cette configuration simplifiait le travail de maintenance et de monitoring. De plus, EKS est isolé dans Amazon Virtual Private Cloud (Amazon VPC), ce qui permettait de spécifier nos propres groupes de sécurité et listes de contrôle d'accès réseau ». News UK voulait mieux adapter son environnement aux événements d'actualité et aux volumes de lecteurs imprévisibles. « Par exemple, s’il y avait des informations de dernière heure, nous voulions que chaque lecteur puisse recevoir des mises à jour en temps réel partout dans le monde et, bien sûr, qu’il ait une expérience irréprochable », a déclaré M. Cuber.
La différence entre Kubernetes et la mise à l’échelle automatique d’une VM se situe dans la rapidité d’exécution. « Les machines virtuelles prennent du temps à tourner, et en cas de pic de trafic, elles ne sont pas assez rapides pour fournir de nouvelles capacités à l’AutoScalingGroup d’AWS », a encore expliqué M. Cuber. « Les conteneurs Docker de Kubernetes sont plus petits et plus légers, ce qui nous permet de les mettre à l'échelle en quelques secondes au lieu de quelques minutes », a-t-il ajouté. Ce dernier a également donné quelques conseils aux entreprises qui souhaitent adopter Docker et Kubernetes. D’abord, il recommande de réduire autant que possible la taille des images Docker et de se concentrer sur l'exécution d'applications stateless avec Kubernetes de façon à « améliorer l’évolutivité et la portabilité ». Ensuite, il recommande d’effectuer des contrôles de santé sur les applications et d’utiliser YAML qui permet de déployer tout ce que l’on veut. « On peut ainsi utiliser des identifiants temporaires qui expireront peu de temps après le déploiement et ne pas se préoccuper des identifiants statiques », a-t-il encore expliqué.
News UK souhaitait également réduire les coûts en jumelant les clusters EKS avec les instances spot d'AWS. Elles consistent pour AWS à vendre des capacités de calcul inutilisées à prix réduit, mais aussi à récupérer ces capacités à tout moment. « Ces instances spot offrent un énorme avantage puisqu’elles permettent de réaliser 70 % d'économies environ par rapport au tarif à la demande », a déclaré M. Cuber. Afin de contourner le problème des nœuds supprimés, les ingénieurs ont mis en place une fonction Lambda AWS qui détecte le signal de terminaison d’AWS et draine automatiquement les nœuds qui seront affectés. Le dernier avantage, moins important, qu’a apporté Kubernetes à News UK, concerne le recrutement. « Kubernetes est open source et les ingénieurs modernes qui s’intéressent aux technologies cloud natives sont très sensibles à cela », a-t-il ajouté.
Amadeus : un changement culturel, plus que technologique
Le géant espagnol des technologies de voyage Amadeus travaille avec Kubernetes depuis 5 ans, quand l’outil était encore en version 0.7. Les deux années suivantes, l'entreprise a suivi la progression de fonctions comme la surveillance, l'alerte, attendant plus de maturité de l'écosystème avant de confier à Kubernetes des applications critiques. Aujourd’hui, Amadeus estime qu'elle a fait le bon choix. « Nous voulions aller plus vite avec Kubernetes, c'est pourquoi nous avons pris les mesures nécessaires pour apprendre à exploiter la plateforme », a expliqué Julien Etienne, directeur de l'ingénierie logicielle des plates-formes cloud d’Amadeus.
Amadeus est l'un des trois grands systèmes de distribution mondiaux qui permettent aux agents de voyages et aux métamoteurs de recherche comme Expedia et Kayak de vendre des billets d’avion, des chambres d'hôtel et des locations de voiture. Fin 2016, l’entreprise a commencé à mettre en production sa première application, une app chargée de vérifier la disponibilité des vols auprès des compagnies aériennes, sur Kubernetes, en même temps que la plate-forme OpenShift de Red Hat. À l’origine, Amedeus avait d’abord prévu de migrer une application de réservation d'hôtel, mais le projet ne cessait de grossir. Finalement, l'application destinée à vérifier la disponibilité des vols, qui avait été conçue pour Linux et devait être déplacée vers le cloud public pour mieux répondre à la demande de latence réduite des clients, a été mise en production plus rapidement. « Toutes nos applications étaient sous Linux, si bien qu’elles étaient d’emblée compatibles avec les conteneurs », a déclaré Julien Etienne. « Certes, elles étaient monolithiques, mais la question était plutôt de savoir comment déplacer les applications existantes vers des conteneurs, puis vers Kubernetes, donc la situation était assez simple ».
Pour Amadeus, le basculement vers Kubernetes s'inscrit dans un objectif d’affaires plus large, à savoir passer des déploiements sur site vers le cloud public, principalement avec son partenaire Google Cloud, afin de mieux répondre à la demande saisonnière et de réduire les coûts d'infrastructure liés au surprovisionnement. En termes de défis, Amadeus possède une solide compétence d'ingénierie, si bien qu'une fois la formation terminée, les défis techniques étaient insignifiants par rapport au changement culturel exigé par des outils comme Kubernetes. « L'un des principaux défis était de changer les mentalités des développeurs et ce que cela signifiait pour eux », a encore déclaré Julien Etienne. « Ils avaient l’habitude de penser à la machine sur laquelle tournait l'application et désormais, il faut oublier la machine et tout configurer avec des fichiers YAML. Tout le monde se préparait à utiliser les conteneurs, donc le plus grand changement, c’était d'exploiter les applications de manière agnostique », a-t-il ajouté.
L'objectif d'Amadeus est de déplacer toutes les charges de travail de production et de les exécuter selon un modèle opérationnel unique avec Kubernetes. Pour l’instant, Amadeus a fait 10 à 15 % du chemin. « Comme pour toute stratégie, il est trop tôt pour dire si nous atteindrons cet objectif », a déclaré Sébastien Pellise, directeur de la gestion des solutions de plate-forme chez Amadeus. Un autre avantage, moins important, de l'adoption d'outils comme Kubernetes concerne le recrutement et la fidélisation des talents, car « travailler sur ce type de projet est beaucoup plus attrayant pour des ingénieurs très pointus que de travailler sur un mainframe », a déclaré pour sa part Dietmar Fauser, ancien vice-président senior des plateformes technologiques et de l’ingénierie chez Amadeus, dans une interview accordée plus tôt cette année.
Se préparer à l'avenir
L'un des aspects les plus intéressants de ces différentes études de cas est leur cohérence. Quel que soit le secteur - services financiers, médias, vente au détail ou technologie - les entreprises de toutes tailles sont confrontées à un changement radical en terme de conception logicielle et de leur déploiement en petits éléments de fonctionnalité discrets et peu couplés. On retrouve également des similitudes entre les défis et les avantages. Toutes ces entreprises sont obligées d’engager des changements culturels, parfois douloureux, et font face à d'importants défis en matière de recrutement, en concurrence avec des entreprises comme Google et Facebook pour attirer les talents. Toutes commencent également à accélérer leurs cycles de développement, à réduire les coûts et les temps d’interruption, et à offrir plus de valeur à leurs clients plus régulièrement. À ce stade, on peut dire, sans exagération, qu’une entreprise qui ne parvient pas à adopter les conteneurs et Kubernetes pour accélérer ses opérations aura du mal à suivre le rythme de ce nouveau monde rapide et de plus en plus piloté par logiciel.