Twenty years since Expedia launched and helped transform the travel booking industry, the ability to innovate rapidly remains vital to its success. In a highly competitive market this requires a modern and agile IT environment, says Elizabeth Eastaugh, Expedia’s director of technology.
"At Expedia we don't build massive projects," Eastaugh tells ComputerworldUK. "We will build the minimum viable product and get so much analytics back we can decide if we are going to go forward with [a new product]. So we are not building huge code monoliths that we just can't change direction in."
Part of Expedia's IT strategy has been to place more of its applications in Amazon Web Service's public cloud. One of the benefits has been the opportunity to overhaul some of its larger applications, breaking the software down into smaller segments, or microservices, that are easier to manage.
One example is its Checkout online payment function, which Eastaugh is directly responsible for.
Currently the Checkout application - which supports billions of pounds of transactions - has a huge number of features, says Eastaugh. This results in "a hundred thousand automation tests", slowing development down and making continuous integration and delivery of software difficult.
"One of the things we can do by going into the cloud is we can start breaking up our application into smaller components," she says.
"Especially with microservices we have the ability to just deploy, say the transactional stack, versus deploying something like our 'trip preferences' page.
"So we can start breaking down Checkout into a much more logical-like set of components."
The benefit of smaller, segmented applications is that Expedia can update applications more quickly, or add new features.
At the moment Expedia has weekly deployment pipelines, but Eastaugh says these can be shortened to daily releases once applications are re-architected and hosted in the cloud.
"In terms of what we want our cadence to be when we go to the cloud, we will 'test and learn' our way into it. I don't think we would want to go four times a day, but if we can and it's cheap and it allows us to move fast then why not," she says.
The key point here is to allow developers to try out new ideas quickly, which may or may not lead to new products.
"One of the things is that we want people to fail: no-one goes and builds a jet engine and straight away does it well, you have to mess it up loads of times. So we have a bunch of 'hope and pray' [projects], where if it works it works and if it doesn't, it doesn't."
"We have a large organisation where - because we are able to test and learn - we are actually able to come up with really crazy ideas," says Eastaugh.
Sign up for Computerworld eNewsletters.