Expedia

Learn How Expedia Increased Release Velocity by 50%

Download the Case Study


The Environment

  • XebiaLabs
  • Jenkins
  • Java
  • .NET
  • LINUX
  • Chef
  • Subversion
  • Github
  • Bitbucket
  • Microsoft Team Foundation Server

The Challenge

To continue their market dominance, Expedia, Inc. wanted to increase software deployment speeds and streamline processes, while operating at scale across 1,000 machines. The Operations team wanted to give their 220 developers self-service deployment capabilities so that Operations could focus on other work.

The Solution

The XebiaLabs DevOps Platform delivered deployment automation, dependency management and self-scheduled deployments for developers.

Results

  • Release velocity increased 20% in the first month, 33% by the second monthand later reached 50%
  • Manage on average over 2,500 deployments per month
  • End-to-end automation and control
  • Seamless, self-service deployments for developers
  • Operations team members are no longer required for deployment activities, so they have more time to excel in other work
  • Standardized and defined release process
  • Ability to assign permissions, roles and controls to granular aspects ofthe pipeline as needed
  • Consistent steps across all environments
  • A process that guides developers to adopt coding best practices forall environments

Background

Expedia.com launched in 1996 as an online application that gave people a new way to easily research and book travel. Now, Expedia, Inc. is one of the world’s leading travel companies, with an extensive brand portfolio that includes some of the world’s most trusted online travel brands.

Supporting manual deployments, managing dependencies and manually patching code were taking more time than they wanted, and the Operations team knew they could improve and automate. They sought to streamline their use of multiple tools and manual processes.

Using Chef to manage deployment services resulted in too much script-related maintenance. Whenever they needed to update their services, or make changes, they manually edited each script and then redeployed their applications to each environment separately. The Operations team knew there was a better way. Rather than spending time manually executing or maintaining deployments, Operations wanted to give developers self-service, schedulable, automated deployments.

Requirements

  • Automate individual steps related to deployments  
  • Manage dependencies between application components
  • Increase deployment speed
  • Ability to enforce a consistent standard between packaging and deployment tasks 
  • Self-service application deployment for developers 
  • Scalable to thousands of deployments
  • Integration with load balancers, source control, plugins and integration tools;easily extensible
  • Low maintenance architecture
  • Ability to consistently deploy across multiple environments simultaneously
  • Ability for Operations to define developer controls for the deployment process

Developers Deploy Twice as Fast  

Expedia considered a range of tools to automate their deployments, including Puppet, Chef, Microsoft Orchestrator SCCM and the XebiaLabs DevOps Platform. They chose XebiaLabs XL Deploy because it manages dependencies, has a model-based, low maintenance architecture and does not require copious custom scripts. Today, over 200 developers at Expedia use XL Deploy to manage on average over 2,500 deployments per month.

Within just one month of implementing XebiaLabs, we realized a 20% increase inrelease velocity, 33% increase by month two and later reached a 50% increase.

- Ganeshram Iyer, Manager of Release Engineering at Expedia

Agentless is Agile

XL Deploy is one of the only deployment solutions that does not require a small component, or agent, to be installed and running on every target system. Why does that matter? Agents introduce major security, compliance and maintenance problems. Many agents require a privileged account on target deployment systems. This structure introduces security and compliance risk, as more people would need root access to install and maintain agents, and this access must be more strictly controlled and logged to meet compliance mandates. It’s difficult to install agents in secure environments.

Agents also present a major maintenance issue. Not only is installing agents a manual process, but whenever there’s a change, the agents need to be updated across machines. Multiply that by 1,000 machines, as in Expedia’s environments, and it presents a huge manual workload. It’s also a bottleneck: if Expedia simultaneously updated all 1,000 machines, they would run the risk that their entire production would go down if something failed.

By not requiring its own footprint on target systems, XL Deploy avoids these issues entirely and meets Expedia’s critical requirement for a secure, low maintenance architecture. Expedia can now use XL Deploy to configure firewalls and security appliances, routers, mobile devices and all the target systems they could not normally reach without installing a proprietary agent.

Developers at Expedia Frequently Sing XL Deploy's Praises

Developers at Expedia frequently sing XL Deploy’s praises because the tool gave them the seamless, self-service deployments they needed. Developers schedule and run deployments with the click of a button and deploy consistently across all their environments without any custom code required. XL Deploy automatically deploys the application based on the status of deployment-related dependencies and the schedule set by the developer.

Not only did Expedia get self-service deployments, but also the speed they required. “Within just one month of implementing XebiaLabs, we realized a 20% increase in release velocity, 33% increase by month two and later reached a 50% increase,” said Ganeshram Iyer, Manager of Release Engineering at Expedia.

The Operations team also has what they need: end-to-end automation, standardization and control. Operations’ time on deployments is no longer required, and they can now focus on other work. Using XL Deploy, they can enforce controls and standards to ensure deployments are executed according to their requirements. Operations can now assign permissions, roles and controls to granular aspects of the pipeline as needed. They also get the visibility to oversee deployments without unnecessarily delaying them, and they can always tell which versions of which applications are running in which environments. Deployments are now executed simultaneously across multiple environments, with complete consistency. And as Operations determines new requirements, they can quickly and easily create ad-hoc permissions and controls.

XebiaLabs’ extensive plugin library made integration with load balancers, source control and other tools seamless and did not require Expedia’s internal team to write code. They now have a standard defined between packaging and deployment tasks, a structure that was previously reinvented with each deployment tool they prototyped in-house. With XL Deploy, their standard is consistent and does not change from release to release or month to month.

Self-service Deployments and Happier Teams

Expedia sought out to deliver deployment automation, dependency management and self-scheduled deployments for developers, and they did, with XebiaLabs. Developers and Operations alike are happier since they implemented these changes. With Expedia’s 220 developers self-servicing their application deployments, Operations has time to work on other activities, with the security of knowing that they have end-to-end automation and control. Expedia has seen a 50% increase in release velocity and can bring their applications to market twice as fast.