Comment Expedia s'est converti à la conteneurisation

Le voyagiste Expedia a très tôt travaillé sur la mise en place des conteneurs pour le développement des applications. Retour sur les bonnes pratiques avant de se lancer dans l'aventure.
PublicitéC'est en 2013 que le fournisseur de services de voyage en ligne Expedia Group a commencé à utiliser l'architecture de micro-services et les services de cloud public d'Amazon Web Services (AWS). En 2015, ses besoins ont augmenté quand il a commencé à déployer des conteneurs via Amazon EC2 Container Service (ECS) pour exécuter ces micro-services et des applications dans l'environnement cloud d'AWS.
Deux avantages principaux ont incité le Groupe Expedia à déployer ces technologies : une plus grande portabilité des applications dans les environnements multiples et une mise sur le marché accélérée de nouveaux produits et services. « Parce que la mise en route des conteneurs ne prend que quelques secondes, le temps nécessaire pour livrer une nouvelle fonctionnalité à nos clients a été considérablement réduit, et nous permet aussi d'accélérer le temps de mise sur le marché », a expliqué Kuldeep Chowhan, ingénieur distingué chez Vrbo, une filiale du Groupe Expedia qui propose des services de location saisonnières via un site Internet.
L'utilisation de Mesos
« La portabilité des conteneurs entre les environnements de travail et la rapidité de déploiement des conteneurs ont poussé l'entreprise à adopter les micro-services », a encore expliqué M. Chowhan. « Aujourd'hui, des milliers d'applications fonctionnent en production sur ECS et sont disponibles dans de multiples régions clouds d'AWS, ce qui permet à Expedia de délivrer de meilleurs services aux voyageurs et à ses partenaires », a-t-il ajouté. En 2015, Vrbo (anciennement Vacation Rentals by Owner) a adopté Apache Mesos, une plateforme open source de gestion de clusters de calcul, qui permet d'exécuter des charges de travail de conteneurs dans les datacenters sur site et les environnements clouds d'AWS.
« Grâce à Apache Mesos, les développeurs de Vrbo ont pu exécuter les mêmes charges de travail dans les deux environnements, accélérant la migration du datacenter sur site d'Expedia vers le cloud », a expliqué Kuldeep Chowhan. Expedia a également voulu exploiter la puissance de Kubernetes, une technologie devenue de plus en plus populaire ces dernières années. « Aujourd'hui, la filiale Hotels.com d'Expedia exécute des centaines d'applications sur Kubernetes dans le cloud d'AWS », a ajouté M. Chowhan, ce qui lui permet, par exemple, de fournir aux clients des services de réservations d'hôtel.
Une accélération du lancement des fonctionnalités
En 2019, après le lancement par Amazon de son service Elastic Kubernetes (EKS), de nombreuses équipes du Groupe Expedia, notamment les équipes de datascientists, mais aussi celles en charge de l'expérience utilisateur en ligne et du streaming, ont commencé à l'exploiter pour gérer les charges de travail des conteneurs. « À plus long terme, c'est la direction que l'Expedia Group prévoit de prendre pour répondre aux besoins d'exécution et d'orchestration des conteneurs », a encore déclaré Kuldeep Chowhan. L'adoption d'une architecture de micro-services et de conteneurs a apporté des avantages significatifs au Groupe Expedia en particulier en ce qui concerne le lancement rapide de nouveaux services. Alors qu'auparavant, il lui fallait des mois pour développer de nouvelles applications, Expedia peut désormais produire des fonctionnalités plusieurs fois par jour. « Grâce aux investissements consacrés à la modernisation de notre architecture applicative et de nos pratiques de développement, la quantité de fonctionnalités fournies aux clients a considérablement augmenté », a expliqué M. Chowhan. « Ainsi, au cours des trois dernières années, chez Vrbo, la vitesse de lancement de fonctionnalités a été multipliée par 12 ».
Publicité Un besoin de ré-outillage et de formation
Grâce à cette portabilité des conteneurs, Expedia peut exécuter ses applications de manière distribuée dans plusieurs régions AWS, et offrir à ses clients du monde entier une haute disponibilité et un accès sans interruption à ses sites de voyage. Les conteneurs permettent également une « mise à l'échelle ciblée », comme l'a aussi expliqué Kuldeep Chowhan. « Auparavant, nos applications monolithiques nous obligeaient à mettre à l'échelle la totalité de l'infrastructure pour prendre en charge le trafic », a-t-il déclaré. « Avec les conteneurs et les micro-services, nous sommes désormais en mesure de dimensionner plus intelligemment des parties spécifiques de notre site, en rapport avec la demande des clients - mais également de réaliser des économies sur les coûts d'infrastructure ».
« Les conteneurs requièrent toujours une certaine gestion de l'infrastructure », a nuancé M. Chowhan. « Pour pouvoir déployer et exploiter des conteneurs, il faut un runtime et une plateforme d'orchestration de conteneurs. Comme pour toute solution logicielle, les conteneurs ont besoin d'être mis à jour et ces mises à jour doivent être déployées sur les serveurs sur lesquels tourne la plateforme de conteneurs », a-t-il ajouté. « Les processus qui entrent dans le développement de conteneurs et de micro-services sont en évolution constante, depuis le code source jusqu'au runtime », a expliqué Kuldeep Chowhan. « Nous avons dû nous réoutiller pour nous adapter à ce nouvel écosystème de plateforme de voyage, et nous avons dû former nos ingénieurs pour suivre l'évolution de l'écosystème basé sur les conteneurs », a-t-il ajouté.
Article rédigé par

IDG News Service,
Commentaire
INFORMATION
Vous devez être connecté à votre compte CIO pour poster un commentaire.
Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire