Expedia_Logo_@2x

Die Expedia Group steigert Agilität und Belastbarkeit, indem sie vollständig auf AWS setzt

2018

Die Expedia Group ist mit AWS vertraut und plant, in den nächsten zwei bis drei Jahren 80 Prozent ihrer geschäftskritischen Apps aus ihren lokalen Rechenzentren in die Cloud zu migrieren. Durch den Einsatz von AWS ist die Expedia Group ausfallsicherer geworden. Die Entwickler der Expedia Group waren in der Lage, schneller Innovationen zu schaffen, was dem Unternehmen Millionen von Dollar sparte. Die Expedia Group bietet Reisebuchungsdienstleistungen auf ihrer Hauptseite Expedia.com und rund 200 weiteren Reisebuchungsseiten auf der ganzen Welt an.

Python-Tutorial starten
CustomerReferences_QuoteMark

Eine unserer Metriken für den Erfolg ist die Zeitreduzierung bei Bereitstellung innerhalb unserer Teams. Wir verwenden diese Methode, um Anwendungen im Vergleich mit einer traditionellen Bereitstellung schnell zu starten. Zudem bedeutet die Reduzierung der Kosten für ein Rollback auf Null, dass wir bei Bereitstellungen keine Angst haben müssen.”

Murari Gopalan
Technology Director

Die Herausforderung

Die Expedia Group engagiert sich für kontinuierliche Innovationen, Technologie- und Plattformverbesserungen, um großartige Erlebnisse für seine Kunden zu schaffen. Die EWE-Organisation (Expedia Worldwide Engineering) unterstützt alle Websites unter der Marke Expedia Group. Die Expedia Group begann im Jahr 2010 mit der Verwendung von Amazon Web Services (AWS), um Expedia Suggest Service (ESS) zu starten. Bei ESS geht es um einen Vorschlagsdienst mit Vorauseingabe, mit dem Kunden Reise-, Such- und Standortinformationen korrekt eingeben können. Gemäß der Metrik des Unternehmens ist eine Fehlerseite der Hauptgrund für das Verlassen der Website. Die Expedia Group strebte an, dass globale Benutzer das Gesuchte schnell und ohne Fehler finden. Zu jener Zeit betrieb die Expedia Group alle seine Dienste aus Rechenzentren in Chandler, Arizona. Das Technikerteam erkannte, dass ESS an Orten betrieben werden muss, die sich in der physischen Nähe von Kunden befinden, um einen schnellen und reaktiven Dienst mit minimaler Netzwerklatenz zu ermöglichen.

Warum Amazon Web Services

Die Expedia Group hatte lokale Virtualisierungslösungen sowie andere Cloud-Anbieter abgewägt, sich jedoch letztendlich für Amazon Web Services (AWS) entschieden, da dies die einzige Lösung mit der erforderlichen globalen Infrastruktur für Kunden im Raum Asien-Pazifik war. „In architektonischer Hinsicht waren Infrastruktur, Automatisierung und Nähe zum Kunden die wichtigsten Faktoren“, erläutert Murari Gopalan, Technology Director. „Wir konnten das Problem nur mit AWS lösen.“

Starten von ESS in AWS

„Mithilfe von AWS konnten wir den ESS-Dienst innerhalb von drei Monaten entwickeln und bereitstellen“, sagt Magesh Chandramouli, Hauptarchitekt. ESS verwendet auf dem Kundenstandort basierende Algorithmen sowie aggregierte Einkaufs- und Buchungsdaten von ehemaligen Kunden, um Vorschläge anzuzeigen, wenn ein Kunde mit der Eingabe beginnt. Wenn beispielsweise ein Kunde in Seattle beim Buchen eines Flugs „sea“ eingibt, zeigt der Dienst Seattle, SeaTac und weitere relevante Ziele an.

Die Expedia Group startete ESS-Instances zuerst in der Region Asien-Pazifik (Singapur) und replizierte den Dienst danach schnell in den Regionen USA West (Nordkalifornien) und EU (Irland). Die Ingenieure der Expedia Group verwendeten anfangs Apache Lucene und andere Open-Source-Tools zum Erstellen des Dienstes, entwickelten dann jedoch leistungsstarke Tools intern zum Speichern von Indizes und Abfragen.

Durch das Bereitstellen von ESS in AWS konnte die Expedia Group den Dienst für Kunden sowohl in der Region Asien-Pazifik als auch Europa verbessern. „Die Latenz war unser größtes Problem“, sagt Chandramouli. „Mithilfe von AWS haben wir die durchschnittliche Netzwerklatenz von 700 Millisekunden auf weniger als 50 Millisekunden reduziert.“ In der Abbildung 1 wird der in AWS ausgeführte ESS-Vorschlagsdienst mit Vorauseingabe dargestellt.

Ausführen wichtiger Anwendungen in AWS

Bis zum Jahr 2011 führte die Expedia Group mehrere wichtige Anwendungen mit hohem Volumen wie Global Deals Engine (GDE) in AWS aus. GDE bietet seinen Online-Partnern Abschlüsse an und ermöglicht es ihnen, anhand Expedia Group-APIs und Produktinventar-Tools benutzerdefinierte Websites und Anwendungen zu erstellen.

Die Expedia Group stellt Hadoop-Cluster unter Einsatz von Amazon Elastic Map Reduce (Amazon EMR) bereit. Diese Cluster lassen sich die Datenströme, die aus dem globalen Netzwerk der Expedia Group von Websites z. B. primär von Clickstream, Benutzerinteraktionen kommen, und die Bereitstellungsdaten analysieren und verarbeiten, die in Amazon Simple Storage Service (Amazon S3) gespeichert sind. Die Expedia Group verarbeitet ungefähr 240 Abfragen pro Sekunde. „Der Vorteil von AWS besteht darin, dass wir mit Auto Scaling den Auslastungsbedarf anpassen können, statt die Kapazität für Spitzenlasten in herkömmlichen Rechenzentren verwalten zu müssen“, merkt Gopalan an. Die Expedia Group verwendet AWS CloudFormation mit Chef, um den gesamten Front- und Back-End-Stapel in der Amazon Virtual Private Cloud (Amazon VPC)-Umgebung bereitzustellen. Die Expedia Group verwendet eine Architektur mit mehreren Regionen und mehreren Availability Zones mit einem proprietären DNS-Dienst zur erhöhten Resilienz von Anwendungen. 

Die Expedia Group kann ein neues Cluster hinzufügen, um GDE und anderen Anwendungen mit hohem Volumen ohne Bedenken hinsichtlich der Infrastruktur zu verwalten. „Müssten wir dieselbe Anwendung in unserem lokalen Rechenzentrum hosten, würden wir nicht über dieselbe Stufe von CPU-Effizienz verfügen“, sagt Chandramouli. „Wenn eine Anwendung 3000 Abfragen pro Sekunde verarbeitet, müssten wir unsere physischen Server für die Ausführung bei einer Kapazität von 30 % konfigurieren, um ein Überhitzen der Geräte zu vermeiden. In AWS können wir die CPU-Auslastung auf fast 70 % steigern, da immer eine horizontale Skalierung möglich ist. Grundsätzlich ermöglicht die Ausführung in AWS eine CPU-Auslastungseffizienz bei der Datenverarbeitung von 230 %. Wir führen unsere kritischen Anwendungen in AWS aus, da wir die Infrastruktur effizient skalieren und verwenden können.“

Verwenden von IAM zum Verwalten der Sicherheit

Zum Vereinfachen der Verwaltung des GDE hat die Expedia Group einen Identitätsverbundbroker entwickelt, der AWS Identity and Access Management (AWS IAM) und AWS Security Token Service (AWS STS) verwendet. Mithilfe des Verbundbrokers können Systemadministratoren und Entwickler die vorhandenen Windows Active Directory (AD)-Konten für das Single Sign-On (SSO) bei der AWS Management Console verwenden. Dabei muss die Expedia Group keine IAM-Benutzer erstellen, vielmehr werden am Speicherort von Benutzeridentitäten mehrere Umgebungen beibehalten. Benutzer des Verbundbrokers melden sich bei ihren Windows-Computern mit den bestehenden Active Directory-Anmeldeinformationen an, wechseln zum Verbundbroker und melden sich transparent bei der AWS-Managementkonsole an. Dies ermöglicht der Expedia Group, die Kennwort- und Berechtigungsverwaltung im vorhandenen Verzeichnis zu erzwingen, sowie Unternehmenspolitik und weitere Governance-Regeln. Außerdem nimmt die Expedia Group, wenn ein Mitarbeiter das Unternehmen verlässt oder eine andere Position übernimmt, statt in AWS, einfach Änderungen an Active Directory vor, um AWS-Berechtigungen für den Benutzer zu widerrufen oder zu ändern.

Standardisieren der Anwendungsbereitstellung

Der Erfolg der ESS- und GDE-Dienste entfachte das Interesse weiterer Entwicklungsteams der Expedia Group, die begannen, AWS für regionale Initiativen zu verwenden. Bis zum Jahr 2012 hostete die Expedia Group Anwendungen in den Regionen USA Ost (Nord-Virginia), EU (Irland), Asien-Pazifik (Singapur), Asien-Pazifik (Tokio) und USA West (Nordkalifornien). Expedia Group Worldwide Engineering sammelte die besten Praktiken aus diesen Initiativen, um ein standardisiertes Bereitstellungs-Setup für alle Regionen zu erstellen. Wie Jun-Dai Bates-Kobashigawa, Principal Software Engineer, erläutert: „Wir verwenden Chef zum Automatisieren der Konfiguration der Amazon Elastic Compute Cloud (Amazon EC2)-Server. Wir können aus jedem AWS-Abbild und mit in Chef gespeicherten Skripts in nur wenigen Minuten einen Computer erstellen und eine für ein Team angepasstes Instance entwickeln.“

Das Team hat alle AWS-Konten unter einem AWS-Konto konsolidiert und ein Amazon VPC-Netzwerk in jeder Region bereitgestellt. Dadurch kann jede Region über eine isolierte Infrastruktur mit separater Firewall, Anwendungsebene und Datenbankebene verfügen. Die Expedia Group wendet Amazon EC2 Security Group-Firewalleinstellungen zum Schutz von Anwendungen und Diensten an. Amazon VPC ist vollständig in die Labor- und Produktionsumgebung der Expedia Group integriert. „Das Amazon VPC-Erlebnis ist völlig nahtlos“, sagt Bates-Kobashigawa. „Entwickler verwenden denselben Active Directory-Dienst zur Authentifizierung und wissen möglicherweise gar nicht, dass einige der Server, bei denen sie sich anmelden, in AWS ausgeführt werden. Es entsteht das Gefühl einer physischen Infrastruktur mit einigen Subnetzen und mehreren Schichten, und die Verbindung zu unserer lokalen Infrastruktur ist mit VPN stets einfach.“

Die Expedia Group verwendet einen blaugrünen Bereitstellungsansatz, um parallele Produktionsumgebungen in AWS zu erstellen, die die kontinuierliche Bereitstellung und kürzere Markteinführungszeiten ermöglichen. „Eine unserer Metriken für den Erfolg ist die Zeitreduzierung bei Bereitstellung innerhalb unserer Teams“, sagt Gopalan. „Wir verwenden diese Methode, um Anwendungen im Vergleich mit einer traditionellen Bereitstellung schnell zu starten. Zudem bedeutet die Reduzierung der Kosten für ein Rollback auf Null, dass wir bei Bereitstellungen keine Angst haben müssen.” 

Die Vorteile

Die Expedia Group verwendet AWS, um Anwendungen schneller zu entwickeln, zum Verarbeiten großer Datenmengen zu skalieren und Probleme schnell zu beheben. Beim Erstellen eines standardmäßigen Bereitstellungsmodells mit AWS können Entwicklungsteams schnell die Infrastruktur für neue Initiativen erstellen. Wichtige Anwendungen werden in mehreren Availability Zones in unterschiedlichen Regionen ausgeführt, um sicherzustellen, dass die Daten immer verfügbar sind, und um die Notfallwiederherstellung zu aktivieren. Expedia Group Worldwide Engineering arbeitet an der Entwicklung einer Überwachungsinfrastruktur in allen Regionen und am Wechsel in eine einzelne Infrastruktur.

Im Allgemeinen haben die Teams mehr Kontrolle über die Entwicklung und den Betrieb in AWS. Als in der Expedia Group Konvertierungsprobleme beim Clientprotokollierungsdienst auftraten, konnten die Ingenieure die kritischen Probleme innerhalb von zwei Tagen nachverfolgen und bestimmen. Nach Schätzung der Expedia Group hätte es bei Ausführung des Dienstes in einer physischen Umgebung sechs Wochen gedauert, die Skriptfehler zu finden.

Früher musste die Expedia Group in seinen Rechenzentren Server für ein Volllast-Szenario bereitstellen. „Um eine Anwendung mithilfe unserer lokalen Einrichtung bereitzustellen, muss man die physische Infrastruktur beachten“, erläutert Bates-Kobashigawa. „Wenn 100 Geräte laufen, muss man eventuell 20 Geräte herausnehmen, um neuen Code anzuwenden. Mit AWS müssen wir keine Kapazität abziehen. Wir fügen einfach neue Kapazität hinzu und senden Datenverkehr an sie.“

Chandramouli merkt an: „Als ich Entwickler war, wollte man nicht in die Architektur investieren, ohne zu wissen, wie die Anwendung aussieht. Ich musste im Voraus planen und zur Vorlage für alle Beteiligten eine Machbarkeitsstudie erstellen. Bei AWS bin ich nicht an Durchsatzbeschränkungen oder die CPU-Kapazität gebunden. Wenn ich an AWS denke, fällt mir sofort das Wort Freiheit ein.“

Nächster Schritt

Weitere Informationen dazu, wie AWS Ihnen beim IT-Bedarf Ihres Unternehmens helfen kann, finden Sie auf unserer Detailseite zur Enterprise Cloud Computing.

Die Expedia Group startet ein Reiseportal mit AWS Cloud innerhalb von Monaten

Die Expedia Group startet ein Reiseportal mit AWS Cloud innerhalb von Monaten

Vorschlagsdienstarchitektur von Expedia in AWS

Expedia_arch

Engine-Architektur der Expedia Group für globale Abschlüsse in AWS

expedia_arch_diag_2

Standardmäßige Bereitstellungsarchitektur von der Expedia Group in AWS

expedia-blue-green-deployment-arch-diagram

Über die Expedia Group

Die Expedia Group ist ein führendes Online-Reisebüro, das Kunden weltweit Privat- und Geschäftsreisen anbietet. Zum umfangreichen Markenportfolio der Expedia Group gehören Expedia.com, eines der weltweit größten Online-Reisebüros mit vollständigem Service und den für mehr als 20 Länder lokalisierten Websites; Hotels.com, der Hotelspezialist mit Websites in mehr als 60 Ländern; Hotwire.com, der Hotelspezialist mit Websites in mehr als 60 Ländern, und weitere Reisemarken.

Das Unternehmen schafft Mehrwert für Verbraucher bei Privat- und Geschäftsreisen, fördert eine steigernde Nachfrage und direkte Buchungen für Reiseanbieter und bietet Werbetreibenden die Möglichkeit, über Expedia Group Media Solutions eine Zielgruppe von hohem Wert bei marktinternen Reisekonsumenten zu erreichen. Die Expedia Group betreibt zudem über Expedia Affiliate Network Buchungen für weltweit führende Fluggesellschaften und Hotels, große Verbrauchermarken, High-Traffic-Websites und Tausende von aktiven Partnern.

Vorteile von AWS

  • Schnelle Entwicklung von Anwendungen
  • Skalierung zum Verarbeiten großer Datenmengen
  • Schnelle Behebung von Probleme
  • Schnelle Erstellung der Infrastruktur für neue Initiativen

Genutzte AWS-Services

Amazon EC2

Der Web-Service Amazon Elastic Compute Cloud (Amazon EC2) stellt sichere, skalierbare Rechenkapazitäten in der Cloud bereit. Der Service ist darauf ausgelegt, Web-Scale-Cloud Computing für Entwickler zu erleichtern.

Weitere Informationen »

Amazon CloudFront

Amazon CloudFront ist ein schneller Content Delivery-Service (CDN), der Daten, Videos, Anwendungen und APIs sicher mit niedriger Latenz hoher Übertragungsgeschwindigkeit und innerhalb einer entwicklerfreundlichen Umgebung an Kunden auf der ganzen Welt liefert.

Weitere Informationen »

Amazon RDS

Amazon Relational Database Service (Amazon RDS) erleichtert Ihnen die Einrichtung, Verwaltung und Skalierung einer relationalen Datenbank in der Cloud.

Weitere Informationen »

Cloud​Formation

AWS CloudFormation bietet eine einfache Sprache, mit der Sie alle Infrastrukturressourcen in Ihrer Cloud-Umgebung beschreiben und bereitstellen können.

Weitere Informationen »


Erste Schritte

Unternehmen aller Größen und Branchen nutzen AWS, um erfolgreicher zu sein. Kontaktieren Sie unsere Experten und begeben Sie sich noch heute auf Ihre eigene AWS Cloud-Reise.