Expedia, Inc. ist ein führendes Online-Reisebüro, das Kunden weltweit Privat- und Geschäftsreisen anbietet. Zum umfangreichen Markenportfolio von Expedia 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 Media Solutions eine Zielgruppe von hohem Wert bei marktinternen Reisekonsumenten zu erreichen. Expedia 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.

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

expedia-thumnail

Expedia 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. Expedia 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. Expedia strebte an, dass globale Benutzer das Gesuchte schnell und ohne Fehler finden. Zu jener Zeit betrieb Expedia 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.

Expedia 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, Principal Architect. 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.

Expedia 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 Expedia-Ingenieure 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 Expedia 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 Vorschlagsdienst mit Vorauseingabe.

Expedia_arch

Abbildung 1. Vorschlagsdienstarchitektur von Expedia in AWS

2011 führte Expedia 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-APIs und Produktinventar-Tools.

Expedia stellt Hadoop-Cluster mit Amazon Elastic Map Reduce (Amazon EMR) zur Analyse und Verarbeitung von Datenströmen aus dem globalen Netzwerk von Expedia mit Websites, primär Clickstream, Benutzerinteraktionen und Bereitstellungsdaten bereit, gespeichert in Amazon Simple Storage Service (Amazon S3). Expedia 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. Expedia 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 von Expedia für globale Abschlüsse in AWS

Expedia 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 3 000 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 hat Expedia 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 einmalige Anmelden bei der AWS Management Console verwenden. Dabei müssen in Expedia keine IAM-Benutzer erstellt werden, 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 Expedia das Erzwingen der Kennwort- und Berechtigungsverwaltung im vorhandenen Verzeichnis und das Erzwingen vom Gruppenrichtlinien und weiteren Kontrollregeln. Außerdem nimmt Expedia, 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 Expedia-Entwicklungsteams, die begannen, AWS für regionale Initiativen zu verwenden. Im Jahr 2012 hostete Expedia Anwendungen in den Regionen US East (Northern Virginia), EU (Irland), Asien-Pazifik (Singapur), Asien-Pazifik (Tokio) und US West (Northern California). Expedia 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. Expedia wendet Amazon EC2 Security Group-Firewalleinstellungen zum Schutz von Anwendungen und Diensten an. Amazon VPC ist vollständig in die Labor- und Produktionsumgebung von Expedia 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."

Expedia 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 von Expedia in AWS dar.

expedia-blue-green-deployment-arch-diagram

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

Expedia 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 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 Expedia Konvertierungsprobleme beim Clientprotokollierungsdienst auftraten, konnten die Ingenieure die kritischen Probleme innerhalb von zwei Tagen nachverfolgen und bestimmen. Nach Schätzung von Expedia hätte es bei Ausführung des Dienstes in einer physischen Umgebung sechs Wochen gedauert, die Skriptfehler zu finden.

Früher musste Expedia 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 bei der Reduzierung Ihrer Unternehmens-IT-Kosten helfen kann, finden Sie auf unserer Enterprise IT-Detailseite: http://aws.amazon.com/de/enterprise-it/.

Kostenlos bei AWS einsteigen

Kostenloses Konto erstellen

Sie erhalten 12 Monate lang Zugriff auf das kostenlose Nutzungskontingent von AWS sowie AWS Support-Funktionen der Stufe "Basic" mit Kundenservice rund um die Uhr, Support-Foren und vielen weiteren Vorteilen.
Details zum kostenlosen Kontingent für AWS anzeigen »