Published
February 16, 2017
Author
Category
Comments
Time To Read
Estimated reading time: 2 minutes

Fault Domains and the Vegas Rule

By in General on February 16, 2017 | Responses (1)

Our teams at Expedia are active public cloud users. We use a simple design principle called the “Vegas Rule”, and a complimentary concept called “fault domain” to make resiliency-related decisions. Fault Domain A fault domain is a coarse-grained enclosure of apps, data and all the dependent infrastructure. Below is an example. The outer circle represents a fault domain. The primary property of a fault domain is that any fault inside the fault domain does not cascade outside. Any external dependency is soft, and the the services in the fault domain…

Read More
Published
February 13, 2017
Author
Joan Gamell Farre
Category
Comments
Time To Read
Estimated reading time: 5 minutes

Conversational Integration Tests for your Alexa Skills (Node/JS)

By Joan Gamell Farre in Testing on February 13, 2017 |

Expedia released the first version of our Alexa Skill last December at the AWS re:Invent event. Since then, a team of developers in the San Francisco and Bellevue offices have been hard at work adding features, refactoring and modernizing the code to adopt the new Amazon JS SDK. The main challenge during the refactoring was: How can we make sure we are not breaking the already existing functionality? I.e. how do we avoid introducing regressions in our code? The answer, of course, was We need some tests (yes, we did the…

Read More
Published
December 29, 2016
Author
Category
Comments
Time To Read
Estimated reading time: 9 minutes

Operationalizing Spark Streaming (Part 1)

By in Big Data, Lessons Learned on December 29, 2016 |

For those looking to run Spark Streaming in production, this two-part article contains tips and best practices collected from the front lines during a recent exercise in taking Spark Streaming to production. For my use case, Spark Streaming serves as the core processing engine for a new real time Lodging Market Intelligence system used across the Lodging Shopping stack on Expedia.com, Hotels.com and other brands. The system integrates with Kafka, S3, Aurora and Redshift and processes 500 msg/sec average with spikes up to 2000 msg/sec. The topics discussed are: Availability: Getting Spark running and…

Read More
Published
December 11, 2016
Author
Category
Comments
Time To Read
Estimated reading time: 3 minutes

Cloud Lock-In and Change Agility

By in Cloud, Culture on December 11, 2016 | Responses (1)

TL;DR Don’t Focus on Lock-In Insulation — Focus on Change Agility We are entering into a future of lock-in. Public clouds are no longer someone else’s computers or hosted services. These are fast becoming proprietary platforms with a bit of open source sprinkled in here and there. Almost everything you need to run an enterprise is now available as a pay-as-you-go platform on AWS, and Azure and GCP are not staying put. As difficult as it may be to swallow and accept this trend, it is important recognize that, anything that needs…

Read More
Published
December 6, 2016
Author
Kuldeep Chowhan (@this_is_kuldeep)
Category
Comments
Time To Read
Estimated reading time: 4 minutes

The Inside Scoop on Primer, Expedia’s Internal Cloud Deployment Tool

By Kuldeep Chowhan (@this_is_kuldeep) in Cloud, Devops on December 6, 2016 |

In early 2013, Expedia decided it was time to more heartily explore cloud solutions. At the time, the company’s web services structure was a monolith. The team was nearing the end of a major platform overhaul, changing the way the entire core of Expedia operated. The cloud was becoming too interesting a tool to ignore. But how does a company move a proverbial rock uphill? A small group of us came together to look at moving a microservice to the cloud. We focused on an application within the shopping path — starting…

Read More
Published
December 1, 2016
Author
Rob Meyer (@robfromca)
Category
Comments
Time To Read
Estimated reading time: 7 minutes

Lessons Learned from Shipping an Alexa Skill in ~60 Days

By Rob Meyer (@robfromca) in Lessons Learned on December 1, 2016 |

On November 30th Expedia launched our first skill for Alexa, representing another foray for us into world of voice interfaces. In this posting we’ll share a few thoughts about how we put this skill together and some tips and tricks about working with voice user interfaces. Where We Started Around the middle of August serious conversations began regarding an opportunity to build an Alexa skill. If we were going to do it, we wanted to have it ready by Christmas. Because the deadline was tight and voice user interface is a new space, we…

Read More
Published
November 21, 2016
Author
Vithun Gajendra
Category
Comments
Time To Read
Estimated reading time: 4 minutes

Gamifying Continuous Integration

By Vithun Gajendra in Cloud, Culture on November 21, 2016 |

For the last couple of years we’ve been moving applications from our data centers into the cloud. One of the advantages of moving to the cloud was that we could host our applications in different geographical regions bringing them closer to the user. Also each team working on an application gets the chance to easily have their app hosted on multiple environments (test/stress/integration/production). Having multiple versions of an application running at the same time across multiple regions and environments brought its own challenge of visibility. It was not straight-forward to know what’s running where…

Read More
Published
November 14, 2016
Author
Brennan Taylor
Category
Comments
Time To Read
Estimated reading time: 3 minutes

Better Test Code Coverage Through Data

By Brennan Taylor in Mobile Development, Testing on November 14, 2016 |

About a month ago our team (the ever growing and more distributed and diverse iOS app team responsible for the Expedia app) decided to try some new things to boost test coverage. We introduced a github build check that measures the code coverage for any particular change using codecov.io. Our starting point for this check was 90% to start. We hadn’t measured this on a per-patch basis before so the check started as advisory only, to see if we could drive team awareness. This data will help us set a harder…

Read More
Published
November 7, 2016
Author
Jayanthan Padinjaredath
Category
Comments
Time To Read
Estimated reading time: 5 minutes

Things that matter

By Jayanthan Padinjaredath in Culture on November 7, 2016 |

This week marked my second year at Expedia and I have been giving some thought to aspects of working with people and teams that I have found to be important. We know a lot about how technology, process, people, and budget choices impact how teams perform. The following are my beliefs around improving team performance that don’t always get the same attention. Building relationships Building genuine relationships is hard, but it’s also the most important thing you can do. Understanding that people are different, but each one will probably do some…

Read More
Published
November 3, 2016
Author
Andre Caron
Category
Comments
Time To Read
Estimated reading time: 5 minutes

AWS Lessons Learned for Data Processing Pipelines

By Andre Caron in Cloud, Devops, Lessons Learned on November 3, 2016 | Responses (2)

Last year my team and I embarked on a mission to migrate Expedia’s Media Services image processing pipeline to AWS. The media services are used to ingest images from hoteliers and image providers, optimize them, and distribute them to be used by our sites. The new queue based cloud pipeline was put in place to replace an aging batch system. Moving to a cloud infrastructure has brought many advantages; we can easily scale when the load is heavier, have faster deployments, and mostly no more worrying about ordering more disk…

Read More
Page 1 of 3123