Expedia_Logo_@2x

Expedia Group optimise son agilité et sa résilience en misant exclusivement sur AWS.

2018

Le groupe Expedia mise exclusivement sur AWS ; elle entend migrer 80 % de ses applications stratégiques de ses centres de données sur site vers le cloud, et ce, au cours des deux ou trois prochaines années. AWS a permis à Expedia Group d'optimiser sa résilience. Les développeurs d'Expedia Group ont innové plus rapidement tout en permettant à l'entreprise d'économiser des millions de dollars. Expedia Group fournit des services de réservation de vols sur son site Web étendard Expedia.com et sur environ 200 autres sites de réservation de vols à travers le monde.

démarrer un didacticiel python
CustomerReferences_QuoteMark

L'une des métriques de notre succès est la réduction du délai de déploiement au sein de nos équipes. Nous utilisons cette approche pour lancer plus rapidement les applications par rapport aux approches de déploiement traditionnelles. En outre, avec la réduction des coûts de reprise d'opérations, nous pouvons effectuer nos déploiements sans crainte.”

Murari Gopalan
Technology Director

Le défi

Expedia Group mise sur l'optimisation de l'innovation continue, de sa technologie et de sa plateforme pour offrir une expérience exceptionnelle à ses clients. L'entreprise Expedia Worldwide Engineering (EWE) prend en charge tous les sites Web de la marque Expedia Group. Expedia Group a commencé à utiliser Amazon Web Services (AWS) en 2010 pour lancer Expedia Suggest Service (ESS), un système de saisie avancée par suggestion permettant aux clients de saisir correctement des informations sur les voyages, la recherche et la localisation. Selon les métriques de l'agence, la principale raison pour laquelle les utilisateurs quittent un site Web est l'apparition d'une page d'erreur. L'objectif d'Expedia Group était que tous les utilisateurs du monde trouvent ce qu'ils cherchent rapidement et sans erreur. À cette époque, Expedia Group exécutait tous ses services à partir de centres de données situés à Chandler, dans l'Arizona. Son équipe d'ingénieurs a jugé de la nécessité d'exécuter le service ESS dans des emplacements physiquement proches de ses clients, par souci d'optimiser la vitesse et la réactivité du service, ainsi que de réduire la latence réseau.

Pourquoi Amazon Web Services

Expedia Group a passé en revue plusieurs solutions de virtualisation sur site ainsi que d'autres fournisseurs de services de cloud, mais a finalement choisi Amazon Web Services (AWS), car c'était la seule solution qui disposait de l'infrastructure mondiale nécessaire pour prendre en charge les clients d'Asie-Pacifique. « Du point de vue de l'architecture, l'infrastructure, l'automatisation et la proximité avec le client étaient des facteurs déterminants », explique Murari Gopalan, le directeur des technologies. « Et seule AWS était en mesure de résoudre ce problème », déclare Murari Gopala, directeur technologies.

Lancement du service ESS sur AWS

« Avec AWS, nous pouvons créer et livrer le service ESS en moins de trois mois », indique Magesh Chandramouli, architecte principal. ESS utilise des algorithmes basés sur la localisation des clients, ainsi que des données agrégées d'achats et de réservations collectées auprès de clients antérieurs pour afficher des suggestions lorsqu'un client commence à saisir des informations. Par exemple, si un client a Seattle saisit « Noisy » lors de sa réservation d'un vol, le service affiche Noisy-le-Grand, Noise-le-Sec, Noisy-le-Petit d'autres destinations pertinentes.

Expedia Group a initialement lancé les instances ESS dans la région Asie-Pacifique (Singapour), avant de reproduire rapidement le service dans les régions USA Ouest (Californie du Nord) et UE (Irlande). Les ingénieurs d'Expedia Group ont au départ créé le service à l'aide d'Apache Lucene et d'autres outils à code source libre, avant de finalement développer en interne de puissants outils de stockage des index et des requêtes.

Déployer le service ESS sur AWS a permis à Expedia Group d'optimiser le service offert aux clients dans les régions Asie-Pacifique et Europe. « La latence était notre principal problème », souligne M. Chandramouli. « Cependant, avec AWS, nous avons réduit la latence moyenne du réseau de 700 millisecondes à moins de 50 millisecondes », explique Chandramouli. La figure 1 montre le service ESS de saisie avancée par suggestion exécuté sur AWS.

Exécution d'applications stratégiques sur AWS

En 2011, Expedia Group exécutait diverses applications stratégiques à grand volume sur AWS, par exemple Global Deals Engine (GDE). GDE délivre des offres à ses partenaires en ligne et leur permet de créer des sites Web et des applications sur mesure via des API et des outils de gestion de stocks de produits d'Expedia Group.

Expedia Group alloue des clusters Hadoop à l'aide d'Amazon Elastic Map Reduce (Amazon EMR) afin d'analyser et de traiter des flux de données provenant du réseau mondial de sites Web d'Expedia Group. Ce flux est, pour l'essentiel, composé de parcours de navigation, d'interactions utilisateurs et de données d'offres, stockés sur Amazon Simple Storage Service (Amazon S3). Expedia Group traite environ 240 requêtes par seconde. « L'avantage d'AWS est qu'elle utilise Auto Scaling pour répondre à la demande de charge, plutôt que d'avoir à maintenir la capacité pour les pics de charge dans les centres de données classiques », explique M. Gopalan. Expedia Group utilise AWS CloudFormation avec Chef pour déployer l'ensemble de sa pile frontale et dorsale dans son environnement Amazon Virtual Private Cloud (Amazon VPC). Expedia Group associe une architecture avec plusieurs régions et zones de disponibilité et un service DNS propriétaire pour optimiser la résilience des applications. 

Expedia Group peut ajouter un nouveau cluster pour gérer le service GDE et d'autres applications à grand volume sans se préoccuper de l'infrastructure. « S'il fallait héberger les mêmes applications dans notre centre de données sur site, nous n'aurions jamais bénéficié d'un même niveau d'efficacité du processeur », souligne M. Chandramouli. « Pour une application qui traite 3 000 requêtes par seconde, nous devions configurer nos serveurs physiques pour qu’ils puissent fonctionner à environ 30 % de leur capacité afin d’éviter la surchauffe des ordinateurs. Avec AWS, nous pouvons pousser la consommation du processeur à près de 70 %, car nous pouvons en permanence descendre en échelle. Essentiellement, l’utilisation d’AWS garantit un taux de consommation du processeur de 230 % durant le traitement des données. Nous exécutons nos applications stratégiques sur AWS, car nous pouvons monter et descendre en échelle et utiliser l’infrastructure de manière efficiente. »

Gestion de la sécurité via des IAM

Pour simplifier la gestion du service GDE, Expedia Group a mis au point un agent de fédération d'identité s'appuyant sur AWS Identity and Access Management (AWS IAM) et AWS Security Token Service (AWS STS). Cet agent de fédération permet aux administrateurs système et aux développeurs d'utiliser leurs propres comptes Active Directory (AD) Windows existants pour procéder à leur authentification unique (SSO) sur AWS Management Console. Expedia Group élimine ainsi la nécessité de créer des utilisateurs IAM et de maintenir plusieurs environnements dans lesquels serait stockée l'identité des utilisateurs. Les utilisateurs de l'agent de fédération se connectent à leurs machines Windows à l'aide de leurs identifiants Active Directory existants, ouvrent l'agent de fédération et se connectent en toute transparence sur AWS Management Console. Expedia Group peut par conséquent gérer les mots de passe et les autorisations dans leur répertoire existant, ainsi qu'appliquer les politiques de groupe et d'autres règles de gouvernance. Par ailleurs, en cas de départ ou de mutation d'un employé, Expedia Group apporte simplement des modifications à Active Directory pour révoquer ou modifier les autorisations AWS de l'utilisateur plutôt qu'au sein d'AWS.

Déploiement standardisé d'applications

Le succès des services ESS et GDE a suscité l'intérêt d'autres équipes de développeurs d'Expedia Group, qui ont commencé à utiliser AWS pour des projets dans d'autres régions. En 2012, Expedia Group hébergeait des applications dans les régions ci-dessous : USA Est (Virginie du Nord), UE (Irlande), Asie-Pacifique (Singapour), Asie-Pacifique (Tokyo) et USA Ouest (Californie du Nord). Fort de ces projets, Expedia Group Worldwide Engineering a élaboré un ensemble de bonnes pratiques encadrant la création d'une configuration de déploiement standardisé pour toutes les régions. « Nous utilisions Chef pour automatiser la configuration des serveurs Amazon Elastic Compute Cloud  (Amazon EC2), explique Jun-Dai Bates-Kobashigawa, ingénieur logiciel principal. Nous pouvons prendre n’importe quelle image AWS et utiliser des scripts stockés dans Chef pour créer une machine et lancer une instance personnalisée dédiée à une équipe, et ce en quelques minutes seulement.”

L’équipe a regroupé tous les comptes AWS en un compte AWS unique, et provisionné un réseau Amazon VPC dans chaque région. Ainsi, chaque région dispose d'une infrastructure isolée dotée d'un pare-feu, d'une couche d'application et d'une couche de base de données distincts. Expedia Group utilise les paramètres du pare-feu Security Group d'Amazon EC2 pour sécuriser les applications et les services. Amazon VPC est entièrement intégré aux environnements d'expérimentation et de production d'Expedia Group. « L'expérience Amazon VPC pour les développeurs est entièrement harmonieuse », déclare M. Bates-Kobashigawa. « Les développeurs utilisent le même service Active Directory pour l’authentification, et ignoreraient même complètement que certains des serveurs sur lesquels ils se connectent fonctionnent sur AWS. En effet, AWS se comporte comme une infrastructure physique avec ses propres sous-réseaux et ses propres couches multiples. Elle peut également être facilement connectée via un VPN à notre infrastructure sur site.”

Expedia Group utilise une approche de déploiement bleu-vert pour créer des environnements de production parallèles sur AWS, ce qui garantit un déploiement continu et réduit le délai de mise sur le marché. « L'une des métriques de notre succès est la réduction du délai de déploiement au sein de nos équipes », affirme M. Gopalan. « Nous utilisons cette approche pour lancer plus rapidement les applications par rapport aux approches de déploiement classiques. En outre, avec la réduction des coûts de reprise d'opérations, nous pouvons effectuer nos déploiements sans crainte.” 

Les avantages

Expedia Group utilise AWS pour rapidement développer des applications, se mettre à l'échelle pour traiter de grands volumes de données et résoudre les problèmes. L'utilisation d'AWS pour créer un modèle de déploiement standard permet aux équipes de développeurs d'accélérer la création de l'infrastructure nécessaire pour lancer de nouveaux projets. Les applications essentielles s'exécutent dans plusieurs zones de disponibilité dans différentes régions afin de garantir la disponibilité permanente des données et la reprise après sinistre. Expedia Group Worldwide Engineering travaille à la création d'une infrastructure de surveillance dans toutes les régions et à la migration vers une infrastructure unique.

En général, les équipes disposent d'un contrôle accru sur le développement et les opérations sur AWS. Lorsqu'Expedia Group a fait face à des problèmes de conversion avec son service Client Logging, deux jours seulement ont suffi aux ingénieurs pour tracer et identifier le nœud du problème. Selon Expedia Group, il aurait fallu six semaines pour identifier les erreurs de script si le service était hébergé dans un environnement physique.

Auparavant, Expedia Group devait provisionner les serveurs pour un scénario de charge complète dans ses centres de données. « Pour déployer une application via notre installation sur site, il faut tenir compte de l'infrastructure physique », déclare M. Bates-Kobashigawa. « Avec 100 ordinateurs en fonctionnement, il faudrait en supprimer 20 afin d’appliquer un nouveau code. Cependant, avec AWS, inutile de réduire la capacité : il suffit d’ajouter la nouvelle capacité et d’y router le trafic. »

« Pendant mes années de développeurs, personne ne voulait investir dans l’architecture sans savoir comment allait y fonctionner une application. Je devais planifier et créer une preuve de concept à présenter aux parties prenantes. Avec AWS, je ne suis pas lié par les limitations de débit et les capacités du processeur. Quand je pense à AWS, le premier mot qui me vient à l'esprit est liberté. »

Étape suivante

Pour savoir comment AWS peut vous aider à répondre aux besoins informatiques de votre entreprise, consultez notre page de présentation du cloud computing pour les entreprises.

Expedia Group lance un portail de voyages en quelques mois en utilisant le Cloud AWS

Expedia Group lance un portail de voyages en quelques mois en utilisant le Cloud AWS

Architecture du service de suggestion d’Expedia sur AWS

Expedia_arch

Architecture du Global Deals Engine d'Expedia Group sur AWS

expedia_arch_diag_2

Architecture de déploiement standard d'Expedia Group sur AWS

expedia-blue-green-deployment-arch-diagram

À propos d'Expedia Group

Expedia Group est une grande agence de voyages en ligne qui propose des voyages d'agrément et des voyages d'affaires. L'entreprise dispose d'un large portefeuille de marques comprenant Expedia.com, l'une des plus grandes agences de voyages en ligne aux services complets du monde, avec des sites localisés pour plus de 20 pays, Hotels.com et Hotwire.com, deux spécialistes des hôtels disposant chacun de sites dans plus de 60 pays, ainsi que d'autres marques spécialisées dans les voyages.

L'entreprise fournit de la valeur client dans le domaine des voyages d'agrément et d'affaires, génère de la demande incrémentielle et dirige les réservations vers les agences de voyages. Elle offre également aux annonceurs la possibilité d'atteindre un public de voyageurs de grande valeur dans les marchés via Expedia Group Media Solutions. Par ailleurs, grâce à Expedia Affiliate Network, Expedia Group alimente les réservations pour certains des meilleurs hôtels, compagnies aériennes, marques grand public et sites Web à fort trafic du monde, ainsi que pour des milliers de sociétés affiliées.

Avantages d'AWS

  • Développent rapide d'applications
  • Évolution pour traiter de grands volumes de données
  • Résolution rapide des problèmes
  • Création rapide de l'infrastructure pour de nouveaux projets

Services AWS utilisés

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud. Destiné aux développeurs, il est conçu pour faciliter l'accès aux ressources de cloud computing à l'échelle du Web.

En savoir plus »

Amazon CloudFront

Amazon CloudFront est un réseau rapide de diffusion de contenu (CDN) qui distribue en toute sécurité des données, des vidéos, des applications et des API à vos utilisateurs, avec une faible latence et des vitesses de transfert élevées, le tout dans un environnement convivial pour les développeurs.

En savoir plus »

Amazon RDS

Amazon Relational Database Service (Amazon RDS) vous permet d'installer, de gérer et de mettre à l'échelle facilement une base de données relationnelle dans le cloud.

En savoir plus »

CloudFormation

AWS CloudFormation fournit un langage commun pour décrire et allouer toutes les ressources d'infrastructure dans votre environnement cloud.

En savoir plus »


Démarrer

Les entreprises de toutes tailles et de tous les secteurs d’activités transforment chaque jour leurs activités à l’aide d’AWS. Contactez nos spécialistes et entamez votre transition vers le Cloud AWS dès aujourd'hui.