What is the Expedia partner network

The Expedia Group increases agility and resilience by relying entirely on AWS

The challenge

Expedia Group is committed to continuous innovation, technology and platform improvements to create great experiences for its customers. The EWE organization (Expedia Worldwide Engineering) supports all websites under the Expedia Group brand. Expedia Group began using Amazon Web Services (AWS) in 2010 to launch Expedia Suggest Service (ESS). ESS is a pre-entry suggestion service that allows customers to correctly enter travel, search and location information. According to the company's metric, an error page is the main reason for leaving the site. Expedia Group wanted global users to find what they were looking for quickly and without errors. At the time, Expedia Group operated all of its services out of data centers in Chandler, Arizona. The engineering team realized that ESS must operate in locations that are physically close to customers in order to provide fast and responsive service with minimal network latency.

Why Amazon Web Services

Expedia Group considered local virtualization solutions as well as other cloud providers, but ultimately chose Amazon Web Services (AWS) as it was the only solution with the required global infrastructure for customers in the Asia-Pacific region. “From an architectural point of view, infrastructure, automation and proximity to the customer were the most important factors,” explains Murari Gopalan, Technology Director. "We could only solve the problem with AWS."

Starting ESS on AWS

“Using AWS, we were able to develop and deploy the ESS service in three months,” said Magesh Chandramouli, chief architect. ESS uses algorithms based on customer location, as well as aggregated purchase and booking data from former customers, to display suggestions when a customer starts typing. For example, if a Seattle customer types "sea" when booking a flight, the service will display Seattle, SeaTac, and other relevant destinations.

Expedia Group first launched ESS instances in the Asia Pacific (Singapore) region and then quickly replicated the service in the US West (Northern California) and EU (Ireland) regions. Expedia Group's engineers initially used Apache Lucene and other open source tools to create the service, but then developed powerful tools in-house for storing indexes and queries.

By deploying ESS on AWS, Expedia Group has improved service for customers in both Asia Pacific and Europe. “Latency was our biggest problem,” says Chandramouli. “With the help of AWS, we have reduced the average network latency from 700 milliseconds to less than 50 milliseconds.” Figure 1 shows the pre-input ESS suggestion service running on AWS.

Run critical applications on AWS

By 2011, Expedia Group was running several key high-volume applications such as Global Deals Engine (GDE) on AWS. GDE offers its online partners degrees and enables them to build custom websites and applications using Expedia Group APIs and product inventory tools.

Expedia Group provides Hadoop clusters using Amazon Elastic Map Reduce (Amazon EMR). These clusters can be used to view the data streams coming from the Expedia Group's global network of websites e.g. B. comes primarily from clickstream, user interactions, and analyze and process the provisioning data that is stored in Amazon Simple Storage Service (Amazon S3). Expedia Group processes approximately 240 queries per second. “The advantage of AWS is that we can use Auto Scaling to adjust workload needs instead of managing peak capacity in traditional data centers,” notes Gopalan. Expedia Group uses AWS CloudFormation with Chef to provision the entire front and back end stack in the Amazon Virtual Private Cloud (Amazon VPC) environment. Expedia Group uses a multi-region, multi-availability zone architecture with a proprietary DNS service to increase application resilience.

Expedia Group can add a new cluster to manage GDE and other high volume applications with no infrastructure concerns. “If we had to host the same application in our local data center, we wouldn't have the same level of CPU efficiency,” says Chandramouli. “If an application is processing 3000 queries per second, we would have to configure our physical servers to run at 30% capacity to avoid overheating the devices. In AWS, we can increase the CPU usage to almost 70% because horizontal scaling is always possible. Basically, running on AWS enables a CPU utilization efficiency in data processing of 230%. We run our critical applications on AWS because we can scale and use the infrastructure efficiently. "

Use IAM to manage security

To make it easier to manage the GDE, Expedia Group has developed an identity federation broker that uses AWS Identity and Access Management (AWS IAM) and AWS Security Token Service (AWS STS). With the help of the federation broker, system administrators and developers can use the existing Windows Active Directory (AD) accounts for single sign-on (SSO) with the AWS Management Console. The Expedia Group does not need to create IAM users, rather it maintains multiple environments in the location of user identities. Federated broker users log on to their Windows computers with their existing Active Directory credentials, switch to the federated broker, and transparently log in to the AWS Management Console. This enables the Expedia Group to enforce password and authorization management in the existing directory, as well as corporate policy and other governance rules. In addition, if an employee leaves the company or takes on a different position instead of AWS, Expedia Group simply makes changes to Active Directory to revoke or change AWS permissions for the user.

Standardize application delivery

The success of the ESS and GDE services sparked interest from other Expedia Group development teams who began using AWS for regional initiatives. Through 2012, Expedia Group hosted applications in the US East (Northern Virginia), EU (Ireland), Asia Pacific (Singapore), Asia Pacific (Tokyo), and US West (Northern California) regions. Expedia Group Worldwide Engineering gathered the best practices from these initiatives to create a standardized deployment setup for all regions. As Jun-Dai Bates-Kobashigawa, Principal Software Engineer, explains, “We use Chef to automate the configuration of the Amazon Elastic Compute Cloud (Amazon EC2) servers. We can use any AWS image and scripts stored in Chef to create a computer in minutes and develop a customized instance for a team. "

The team consolidated all AWS accounts under one AWS account and deployed an Amazon VPC network in each region. This allows each region to have an isolated infrastructure with a separate firewall, application layer and database layer. Expedia Group uses Amazon EC2 Security Group firewall settings to protect applications and services. Amazon VPC is fully integrated into the Expedia Group's laboratory and production environment. “The Amazon VPC experience is completely seamless,” says Bates-Kobashigawa. “Developers use the same Active Directory service for authentication and may not even know that some of the servers they log into are running on AWS. It creates the feeling of a physical infrastructure with a few subnets and several layers, and the connection to our local infrastructure is always easy with VPN. "

Expedia Group uses a teal deployment approach to create parallel production environments on AWS that enable continuous deployment and faster time to market. "One of our metrics for success is the time it takes to deploy within our teams," says Gopalan. “We use this method to launch applications quickly compared to a traditional deployment. Plus, reducing the cost of rollback to zero means we don't have to worry about deployments. "

The advantages

Expedia Group uses AWS to develop applications faster, scale to process large amounts of data, and troubleshoot problems quickly. By building a standard deployment model with AWS, development teams can quickly build the infrastructure for new initiatives. Critical applications run in multiple Availability Zones in different regions to ensure that data is always available and to enable disaster recovery. Expedia Group Worldwide Engineering is working on developing a surveillance infrastructure in all regions and moving to a single infrastructure.

In general, teams have more control over development and operations on AWS. When Expedia Group encountered conversion issues with the client logging service, engineers were able to track and determine the critical issues within two days. The Expedia Group estimates that if the service had run in a physical environment, it would have taken six weeks to find the script errors.

The Expedia Group used to have to provide servers in its data centers for a full load scenario. “To deploy an application using our local facility, you have to consider the physical infrastructure,” explains Bates-Kobashigawa. “If you have 100 devices running, you may have to take out 20 devices to apply new code. With AWS, we don't have to pull any capacity. We just add new capacity and send traffic to it. "

Chandramouli notes, “When I was a developer, you didn't want to invest in architecture without knowing what the application would look like. I had to plan in advance and prepare a feasibility study to present to everyone involved. At AWS, I'm not bound by throughput limits or CPU capacity. When I think of AWS, the word freedom immediately comes to mind. "

Next Step

For more information on how AWS can help you with your company's IT needs, please visit our Enterprise Cloud Computing detail page.

Expedia Group launches a travel portal with AWS Cloud within months

Expedia's suggestion service architecture on AWS

Expedia Group engine architecture for global deals on AWS

Expedia Group's standard deployment architecture on AWS

About the Expedia Group

Expedia Group is a leading online travel agency serving private and business travel to customers worldwide. The Expedia Group's extensive portfolio of brands includes Expedia.com, one of the world's largest full-service online travel agencies with websites localized for more than 20 countries; Hotels.com, the hotel specialist with websites in more than 60 countries; Hotwire.com, the hotel specialist with websites in more than 60 countries, and other travel brands.

The company creates value for consumers on private and business travel, drives increased demand and direct bookings for travel providers, and enables advertisers to use Expedia Group Media Solutions to reach a high-value audience with in-market travel consumers. Expedia Group also operates bookings for the world's leading airlines and hotels, major consumer brands, high-traffic websites and thousands of active partners through the Expedia Affiliate Network.

Benefits of AWS

  • Rapid application development
  • Scaling to process large amounts of data
  • Quick resolution of problems
  • Rapid creation of the infrastructure for new initiatives

AWS services used

Amazon EC2

The Amazon Elastic Compute Cloud (Amazon EC2) web service provides secure, scalable computing capacities in the cloud. The service is designed to make web-scale cloud computing easier for developers.

Additional Information "

Amazon CloudFront

Amazon CloudFront is a fast content delivery service (CDN) that securely delivers data, videos, applications and APIs with low latency, high transfer speeds and within a developer-friendly environment to customers around the world.

Additional Information "

Amazon RDS

Amazon Relational Database Service (Amazon RDS) makes it easy for you to set up, manage, and scale a relational database in the cloud.

Additional Information "

Cloud formation

AWS CloudFormation provides a simple language that you can use to describe and provision all infrastructure resources in your cloud environment.

Additional Information "

First steps

Companies of all sizes and in all industries use AWS to be more successful. Contact our experts and embark on your own AWS cloud journey today.