秒単位でデータが取得可能
1 日以上から比べて
コストを削減
データベース
排除された
ベンダーロックイン
80%
レガシーシステムからボリュームを再割り当て
スケーリングし
トラフィックでの突然の予測できないスパイクに対応する
概要
レガシーシステムの一部は、Amazon Aurora、MySQL および PostgreSQL と互換性のあるクラウド向けのリレーショナルデータベースに移行されました。これは、オープンソースデータベースのシンプルさとコスト効率性と、商用データベースのパフォーマンスをあわせ持っています。Expedia は、Aurora と AWS の 20 を超える他のサービスを使用してコストを削減し、手動処理を自動化することでスタッフがコアビジネスに集中できるようにしました。また、Expedia は、ユーザーや社内チームにほぼリアルタイムのデータを提供するようになり、その結果、支払い処理が合理化され、サプライパートナーの可視化とインサイトが改善されました。
機会 | 従来の商用データベースベンダーでスケーリングの問題に到達
Expedia Group は、Expedia、Vrbo、Hotels.com、Orbitz などの 20を超える予約サイトを擁しており、これを通して 70 か国以上からの旅行者が、宿泊施設やフライトなどを 80 を超える通貨で予約しています。グローバルプラットフォームビジネスとして、チームは、消費者とパートナーの両方の支払いに対応する必要があります。パートナーへの支払いの場合、Expedia は、ホテル、クルーズライン、航空会社など、その予約がプラットフォーム上で行われるプロバイダーとやり取りします。Expedia Collect モデルでは、Expedia は消費者から集金してからプロバイダーへの支払いを送金します。2019 年に、Expedia は、前年比 25% 増の 76 億 USD のマーチャント型予約を処理しました。
しかし、Expedia の成長は、買掛金調整 (APRecon) セグメントで大損失を与え始めました。ボリュームが増えるにつれて、ジョブの実行に時間がかかるようになり、ユーザーに至るまでに遅延のカスケード効果が生じました。また、SQL Server の APRecon は、大量の手作業の介入が必要であり、同社のオペレーションスタッフに影響を与えていました。そして、オープンソースのデベロッパープラットフォームである .NET に構築された一部のサービスは、ベンダーロックインにつながり、サービスのデプロイを制限しました。
Expedia は、クラウド内の Java マイクロサービス主導のアーキテクチャに移行することを決定しました。「私たちは、AWS が提供する機能に合わせて簡単にスケーリングできるように、意図的に、マイクロサービス指向のアーキテクチャで新しいシステムを設計しました」と Expedia Group のソフトウェア開発担当シニアディレクターである Nirupama Jagarlamudi は説明します。SQL Server とクラウド製品の分析とコスト比較、さらにそれに続く SQL と PostgreSQL の分析を行った後に、同社は、Amazon Aurora PostgreSQL を選択しました。
Aurora PostgreSQL では、使用した分のみ支払い、データの増加に応じて自動的に調整されます」
Nirupama Jagarlamudi
Expedia Group、ソフトウェア開発シニアディレクター
ソリューション | オンプレミスとレガシーデータベースからの脱却
Expedia は、Aurora PostgreSQL に段階的な移行を行うことを選択し、SQL Server から AWS に完全に移行する計画を立てています。初期段階では、まず、APRecon システムから宿泊事業を移行しました。それにより、SQL Server からの全ボリュームの 80% を占める、Expedia の宿泊パートナーからのトランザクションが調整されます。データベースデベロッパーは、Flyway と呼ばれる新しいスキーマ移行ツールを使用して、SQL Server から Aurora PostgreSQL にスキーマをリファクタリングしました。「目的は、別のプロバイダーやサービスに切り替える必要がある場合に、縛られることなく簡単に切り替えられるように、サービス内のビジネスロジックを維持することです」とJagarlamudi は述べます。スキーマの更新などのデータベースの移行には、開発とテストに約 2 週間しかかかりませんでした。スキーマをリファクタリングした後に、チームは、.NET ソフトウェアフレームワークで構築されたコンポーネントをオープンソースの Linux と Java ベースのフレームワークである Spring Boot に移行しました。現在、Expedia には、Spring Boot スタック上に構築された 20 のマイクロサービスがあります。
マッチングおよび調整システム (MARS) と呼ばれる AWS の新しいシステムは、2020 年 5 月に稼働を開始しました。これは、Expedia のペイメントテクノロジースタックを統一するだけでなく、ベンダーのロックインを排除する AWS オープンソースサービスを使用します。Expedia は、フルマネージド型メッセージキューイングサービスである Amazon Simple Queue Service (Amazon SQS) を使用して、マイクロサービスを分離したりスケーリングしたりします。「Amazon SQS は、当社にとって、永続的な再試行機能を使ってプロセスに回復性を組み込むための簡単な方法です」と Jagarlamudi は言います。たとえば、Amazon SQS は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスである Amazon Simple Storage Service (Amazon S3) と連携して、ベンダーのリクエストを処理します。これにより、Expedia にイベント駆動型処理が提供されます。Amazon SQS は、組織に新しいベンダーのリクエストファイルを通知するため、チームはそれらを Amazon S3 からプルする必要がありません。
Expedia は、ユーザー、ベンダー、ビジネスインテリジェンス部門、およびオペレーションチームにほぼリアルタイムのデータを提供することができるようになりました。Expedia ポータルの運用ユーザーや外部のベンダーを含むすべての Expedia の支払いユーザーは、Amazon Elasticsearch Service (Amazon ES) を使用しています。これにより、ユーザーは、未払いの予約コストを効果的に検索、分析、可視化できます。予約が入ると、イベント駆動型処理は、データをオペレーションチームまたはベンダーに 1 秒未満で配信できます。以前のサーバーでのバッチ処理では 1 日以上かかっていたのに対し、上位 99 パーセンタイルのパフォーマンスは 2.6 秒です。その後、MARSは、その結果をユーザーと Expedia のビジネスインテリジェンス組織に伝えます。ユーザーは検索クラスターからデータを取得し、Expedia は、非常にスケーラブルで永続的なストリーミングサービスである Amazon Kinesis Data Streams を使用して、予約日、滞在時間、旅行者情報、ホテル情報、残金、決済履歴、チェーン予約など、各予約からのリアルタイムストリーミングデータを収集、処理、分析します。これらの重要なデータ属性により、Expedia のオペレーションチームは、問題を調査し、ベンダーの問い合わせをサポートできます。「ビジネスインテリジェンスとの統合は、極めて柔軟であり、このパターンにより、他の Expedia Group チームがこのデータを利用してビジネス機能を提供できる可能性があります」と Jagarlamudi は述べます。
マイクロサービス主導のアーキテクチャでは、MARS をスケールアップして、トラフィックでの突然の予測できないバーストに対処し、トラフィックが低下したらスケールダウンすることができます。たとえば、Expedia は、注文サービスをスケールアップして、15 か月の過去の予約の埋め戻しを調整し、2 週間にわたって1 秒あたり 200 件のトランザクションを維持することができました。その後、アクティビティの最後には、サービスをスケールダウンして、通常のトラフィックパターンに合わせました。また、Expedia は SQL Server (移行されていないレガシースタックに引き続き使用される) に伴うプロビジョニング、ストレージ、ライセンスの固定費を支払いますが、Aurora は、ライセンス料を取り除き、柔軟なコストとインフラストラクチャを提供します。Expedia は、データセンターの未使用容量にお金を費やす必要がなくなりました。「Aurora PostgreSQL では、使用した分のみ支払い、データの増加に応じて自動的に調整されます」と Jagarlamudi は話します。これにより、Expedia は COVID-19 のパンデミックの際に適応できました。また、フルマネージドの AWS システムを使用することは、Expedia がメンテナンスにかける時間がゼロであり、社内のデータベース管理者を必要としないことも意味します。
成果 | リアルタイムのデータを使用してビジネスインサイトを高速化
レガシーシステムを Aurora に移行し、他の AWS サービスを使用することで、Expedia は、データベースコストを削減し、ベンダーロックインを排除し、トラフィックのスパイクに合わせてスケーリングしました。その一方で、手作業による処理やデータベース管理の責任をチームから取り除きました。また、予約をほぼリアルタイムで処理するシステムも構築し、速いパフォーマンスをユーザーに提供し、ベンダーへの支払い操作の更新の高速化など、迅速なビジネスインサイトを可能にしました。
Expedia Group について
Expedia Group は、ビジネスとブランドの広範なポートフォリオ全体でプラットフォームとテクノロジーの機能を活用し、どこでも誰にでもグローバルな旅行を推進しています。
使用されている AWS のサービス
Amazon S3
Amazon Simple Storage Service (Amazon S3) は、業界随一のスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。
Amazon SageMaker
Amazon SageMaker は、製品のレコメンデーション、パーソナライズ、インテリジェントショッピング、ロボット工学、音声支援デバイスなど、実際の機械学習アプリケーションの開発における Amazon の 20 年の経験に基づいて構築されています。
詳細 »
Amazon SageMaker Studio
Amazon SageMaker Studio は、すべての ML 開発ステップを実行できる、ウェブベースの単一ビジュアルインターフェイスを提供し、データサイエンスチームの生産性を最大 10 倍向上させます。
詳細 »
Amazon SageMaker Pipelines
Amazon SageMaker Pipelines は、機械学習 (ML) のための最初の専用の使いやすい継続的インテグレーションおよび継続的デリバリー (CI/CD) サービスです。
詳細 »
AWS を使用した Expedia のイノベーションの取り組みを詳しく見る
Expedia のその他の事例
今すぐ始める
あらゆる業界のさまざまな規模の組織が AWS を活用してビジネスを変革し、日々ミッションを遂行しています。当社のエキスパートにお問い合わせいただき、今すぐ AWS ジャーニーを開始しましょう。