Expedia Group Speeds Up Vendor Payment Transactions from 1 Day to Seconds
As Expedia Group (Expedia) continues to grow as a leading online travel platform, so does its innovation in global payments. That’s why Expedia decided to migrate to a flexible microservices-driven architecture supported by the Amazon Web Services (AWS) infrastructure that could scale to meet the high traffic and high availability requirements of the system. These improvements enabled Expedia to streamline and simplify its technology stack, resulting in a reduced manual touch rate for processing partner payments from 17 percent to 0.06 percent.
Part of its legacy system migrated to Amazon Aurora, a MySQL- and PostgreSQL-compatible relational database built for the cloud, which has the simplicity and cost-effectiveness of open-source databases and the performance of a commercial database. Using Aurora and more than 20 other services from AWS, Expedia cut costs and enabled staff to focus on core business by automating manual processes. Expedia also now delivers near real-time data to its users and internal teams, resulting in a streamlined payment process and improved visibility and insights for its supply partners.
On Aurora PostgreSQL, we pay only for what we use, and it automatically adjusts as our data grows.”
Senior Director, Software Development, Expedia Group
Reaching a Scaling Pain Point with Traditional Commercial Database Vendor
Expedia Group owns more than 20 booking sites such as Expedia, Vrbo, Hotels.com, and Orbitz, through which travelers from more than 70 countries book lodging, flights, and more in over 80 currencies. As a global platform business, the teams need to cater to both consumer and partner payments. For partner payments, Expedia interacts with providers—such as hotels, cruise lines, and airlines—whose bookings are distributed on its platform. In its Expedia Collect model, Expedia collects money from consumers then remits payment to providers. In 2019, Expedia processed $7.6 billion in merchant bookings, 25 percent more than the year prior.
But Expedia’s growth began to take a toll on its accounts payable reconciliation (APRecon) segment. As volume increased, jobs took longer to run, which created a cascading effect of delays all the way down to users. The APRecon on SQL Server also required a significant amount of manual intervention that impacted the company’s operations staff. And some services built on .NET, an open-source developer platform, led to vendor lock-in, limiting service deployment.
Expedia decided to migrate to a Java microservices-driven architecture in the cloud. “We deliberately designed the new system in a microservices-oriented architecture so that we could easily scale with the functionality that AWS provides,” explains Nirupama Jagarlamudi, senior director, software development at Expedia Group. After performing analyses and cost comparisons of SQL Server and cloud offerings, as well as subsequent analyses of SQL and PostgreSQL, the company chose Amazon Aurora PostgreSQL.
Breaking Free of On-Premises and Legacy Databases
Expedia opted to perform a phased migration to Aurora PostgreSQL and plans to migrate completely from SQL Server to AWS. In the initial phase, it first migrated its lodging business from the APRecon system, which reconciles transactions from Expedia’s lodging partners, accounting for 80 percent of all volume from SQL Server. The database developers refactored the schema from SQL Server to Aurora PostgreSQL using a new schema-migration tool called Flyway. “The intent is to keep our business logic within the services so that if we have to switch to a different provider or service, we can easily switch without being tied,” explains Jagarlamudi. Database migration, including the schema update, only took about 2 weeks to develop and test. After refactoring the schema, the team started migrating components built on the .NET software framework to Linux and Spring Boot, the open-source Java-based framework. Now Expedia has 20 microservices built on the Spring Boot stack.
The new system on AWS, called the Matching and Reconciliation System (MARS), went live in May 2020. It uses AWS open-source services that not only unify the Expedia payment technology stack but also eliminate vendor lock-in. Expedia uses Amazon Simple Queue Service (Amazon SQS), a fully managed message queuing service, to decouple and scale microservices. “Amazon SQS is a simple way for us to build resiliency into our process with a durable retry capability,” says Jagarlamudi. For example, Amazon SQS works alongside Amazon Simple Storage Service (Amazon S3)—an object storage service that offers industry-leading scalability, data availability, security, and performance—to handle vendor requests. This provides Expedia with event-driven processing: Amazon SQS notifies the organization of new vendor request files so that the team doesn’t have to pull them from Amazon S3.
Now Expedia can provide near-real-time data to its users, vendors, business intelligence department, and operations team. All Expedia payment users, including operational users and external vendors on the Expedia portal, use Amazon Elasticsearch Service (Amazon ES), which enables users to search, analyze, and visualize outstanding booking costs effectively. As bookings come in, the event-driven processing can deliver the data to the operations team or vendors in less than 1 second, with top-99th percentile performance of 2.6 seconds, compared to more than a day through batch processing in the previous server. MARS then carries the results to its users and Expedia’s business intelligence organization. Users get their data from the search cluster, and Expedia uses Amazon Kinesis Data Streams, a massively scalable and durable streaming service, to collect, process, and analyze real-time streaming data from each booking including booking date, time of stay, traveler information, hotel information, balance, settlement history, and chained booking. These critical data attributes enable the Expedia operations team to investigate issues and to support vendor inquiries. “Our integration with business intelligence is a lot more flexible, and this pattern can potentially enable other Expedia Group teams to tap into this data to serve their business functions,” says Jagarlamudi.
On a microservices-driven architecture, MARS can scale up to handle sudden, unforeseen bursts in traffic and scale down when traffic subsides. For example, Expedia was able to scale up its purchase order service to accommodate backfilling of 15 months of historical bookings, sustaining 200 transactions per second, over a 2-week period. It then scaled the service down at the end of the activity to be in line with normal traffic patterns. And whereas Expedia pays fixed costs for provisioning, storage, and licensing with SQL Server—which it continues to use for the legacy stack that has not been migrated—Aurora eliminates licensing fees and provides flexible costs and infrastructure. Expedia no longer has to spend money on unused capacity in its data centers. “On Aurora PostgreSQL, we pay only for what we use, and it automatically adjusts as our data grows,” Jagarlamudi says. That enabled Expedia to adapt during the COVID-19 pandemic. The fully managed AWS system also means that Expedia spends zero time on maintenance and doesn’t need an in-house database administrator.
Using Real-Time Data to Drive Faster Business Insights
By migrating its legacy system to Aurora and using other AWS services, Expedia has cut database costs, eliminated vendor lock-in, and scaled to meet spikes in traffic—all while removing responsibility for manual processes and database management from its team. It has also built a system that processes bookings in near real time, delivering fast performance to its users and enabling quick business insights, such as faster payment activity updates for vendors.
About Expedia Group
Expedia Group leverages platform and technology capabilities across an extensive portfolio of businesses and brands to power global travel for everyone, everywhere.
Benefits of AWS
- Makes data available in seconds compared to more than 1 day
- Cut database costs
- Eliminated vendor lock-in
- Scales to meet sudden, unforeseen spikes in traffic
- Drives actionable business insights
- Reallocated 80% of volume from its legacy system
AWS Services Used
Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud, that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases.
Amazon Simple Queue Service (SQS)
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.
Amazon Simple Storage System (S3)
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.
Amazon Kinesis Data Streams
Amazon Kinesis Data Streams (KDS) is a massively scalable and durable real-time data streaming service.
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.