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.

AWS re:Invent 2017 – Mark Okerstrom teilt, wie die Expedia Group agiler geworden ist, indem sie vollständig auf AWS setzt

Mark_Okerstrom_Expedia

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 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 einen wachsenden Bedarf 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 weltweite führende Fluggesellschaften und Hotels, große Verbrauchermarken, High-Traffic-Websites und Tausende von aktiven Partnern.

Die Expedia Group startet ein Reiseportal mit AWS Cloud innerhalb von Monaten (3:25)

expedia-thumnail

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 2010 mit der Verwendung von Amazon Web Services (AWS), um Expedia Suggest Service (ESS) zu starten, 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, AZ. 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.

Die Expedia Group hatte lokale Virtualisierungslösungen sowie andere Cloud-Anbieter, 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.“

„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 US West (Northern California) und EU (Irland). Die Ingenieure der Expedia Group verwendeten anfangs Apache Lucene und andere Open-Source-Tools zum Erstellen des Dienstes, entwickelten dann jedoch intern leistungsstarke Tools zum Speichern von Indizes und Abfragen.

Durch das Bereitstellen von ESS in AWS konnte Die Expedia Group den Dienst für Kunden in der Region Asien-Pazifik und in 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.“ Abbildung 1 zeigt den in AWS ausgeführten ESS-Vorschlagsdienst mit Vorauseingabe.

Expedia_arch

Abbildung 1. Vorschlagsdienstarchitektur von Expedia in AWS

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 ihnen das Erstellen benutzerdefinierter Websites und Anwendungen mit Expedia Group-APIs und Produktinventar-Tools.

Die Expedia Group stellt Hadoop-Cluster mit Amazon Elastic Map Reduce (Amazon EMR) zur Analyse und Verarbeitung von Datenströmen aus dem globalen Netzwerk der Expedia Group mit Websites, primär Clickstream, Benutzerinteraktionen und Bereitstellungsdaten bereit, gespeichert in Amazon Simple Storage Service (Amazon S3). 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. Expedia verwendet AWS CloudFormation mit Chef zum Bereitstellen des gesamten Front- und Back-End-Stapels in der Amazon Virtual Private Cloud (Amazon VPC)-Umgebung. 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. Abbildung 2 zeigt die Architektur des GDE-Dienstes in AWS.

expedia_arch_diag_2

Abbildung 2. Modularchitektur der Expedia Group für globale Abschlüsse in AWS

Die Expedia Group kann ein neues Cluster zum Verwalten von GDE und anderen Anwendungen mit hohem Volumen ohne Bedenken hinsichtlich der Infrastruktur hinzufügen. „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.“

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 Management Console an. Dies ermöglicht der Expedia Group das Erzwingen der Kennwort- und Berechtigungsverwaltung im vorhandenen Verzeichnis und das Erzwingen vom Gruppenrichtlinien und weiteren Kontrollregeln. 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.

Der Erfolg der ESS- und GDE-Dienste entfachte das Interesse weiterer Entwicklungsteams der Expedia Group, die begannen, AWS für regionale Initiativen zu verwenden. Im Jahr 2012 hostete die Expedia Group Anwendungen in den Regionen US East (Northern Virginia), EU (Irland), Asien-Pazifik (Singapur), Asien-Pazifik (Tokio) und US West (Northern California). Expedia Group Worldwide Engineering sammelte die besten Praktiken aus diesen Initiativen, um ein standardisiertes Anwendungs-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 Instanz 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 zum Erstellen paralleler Produktionsumgebungen in AWS, die die kontinuierliche Bereitstellung und kürzere Markteinführungszeiten ermöglichen. „Eine unserer Metriken für den Erfolg ist die Zeitreduzierung 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.“ Abbildung 3 stellt die standardmäßige Bereitstellungsarchitektur der Expedia Group in AWS dar.

expedia-blue-green-deployment-arch-diagram

Abbildung 3. Standardmäßige Bereitstellungsarchitektur von der Expedia Group in AWS

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.“

Weitere Informationen dazu, wie AWS Ihnen beim IT-Bedarf für Ihr Unternehmen helfen kann, finden Sie auf unserer Detailseite zur Enterprise Cloud Computing.