HomeAway

HomeAway Creates Memorable Vacation Experiences with Faster Software Delivery and Deployment

SUMMARY

CloudBees Core helps HomeAway innovate faster to give travelers, owners and property managers the tools, data and insights they need.

CHALLENGE

Provide development teams with self-service freedom while maintaining centralized management, analytics and security

SOLUTION

Standardize on CloudBees Core for CI/CD to increase automation, foster innovation and strengthen competitive advantage

RESULTS

» Builds increased 3X - from 7,000 to 20,000 per week

» Faster Jenkins master provisioning

» Reduction in time spent on rights and roles management

» Faster new project set up

» Higher uptime

» Faster upgrades

PRODUCTS

» CloudBees Core

Helping travelers create lasting, memorable vacation experiences is HomeAway’s passion. Vacation lodging preferences are rapidly changing from traditional hotels to vacation homes that are more comfortable and have more space. Add in pet-friendly spaces, unique neighborhoods, beachfront oases and even barns, treehouses and houseboats and travelers are bound to find their perfect match.

Key to the company’s continued success and market position is making it easy for owners and property managers to market their rentals and manage reservations. Equally important is creating an easy, fast rental search and booking experience to help travelers find their next, perfect vacation home.

How does HomeAway do it? It’s all about software, the ability to create new tools and products and the pace at which HomeAway can deliver to renters and property managers.

“Part of our competitive advantage stems from experimenting, getting new features out to customers and using the feedback to constantly improve the customer experience,” says Uluc Aydin, senior development tools engineering manager at HomeAway.

“CloudBees Core helps improve our customer experience by automating our processes and reducing friction for our development teams so they can focus on building better software, delivering faster and more often,” he said. ”Now, we have a self-service model that gives our development teams the autonomy to spend more time innovating and less time on managing the tools they use.”

HomeAway’s software development teams were growing rapidly and demands on the organization were outpacing business hours and taxing internal teams. HomeAway needed to onboard new engineers quickly and get them up to speed without missing a beat. Moreover, HomeAway needed to establish a self-service, scalable Jenkins infrastructure that would give substantial time back to engineers, so they could focus on innovation instead of Jenkins management, maintenance and support.

HomeAway turned to CloudBees and selected CloudBees Core to tackle these challenges and enable a scalable, self-service model for development teams.

CHALLENGE: RAPID GROWTH CAUSES SCALABILITY ISSUES

Over time, HomeAway teams started moving beyond Java-only environments and began using a wide variety of technology stacks for specific projects. Several continuous integration (CI) solutions were in use, including Jenkins, TeamCity and QuickBuild.

“In the past, each tool had a purpose and everyone would be forced to use it,” says Aydin. “But, there was no effective auditing or central mechanism for providing security information. All of these enterprise-required capabilities were missing. As we grew, it became more problematic.”

At the same time, the demands of onboarding more engineers became a bottleneck. In fact, Jenkins adoption grew 600 percent in just six months and the number of builds grew 3X during that same time period.

HomeAway also started experiencing slowness in build agents. Build runtimes slowed down - from about one to two minutes to 20-30 minutes. With the accelerated volume in build jobs, a single Jenkins master was not realistic and prohibited the productivity and scalability the team needed.

The principal challenges of this decentralized environment involved administration, visibility and security controls. HomeAway instituted policies for approving and implementing changes teams wanted to make to their CI environment. Although the approach provided some structure, it proved a significant time burden for Aydin’s team and for the hundreds of project teams across the company

Ensuring that development teams were “partitioned” from each other based on specific jobs and roles was a priority for HomeAway. This approach would ensure team members worked only on projects and jobs that were specifically assigned to them.

“In order to grow, scale and innovate faster, we needed standardization, stability, central management and an approach that allowed for team flexibility,” said Aydin. “CI/CD at this scale would not have been possible without the added automation, security and manageability of CloudBees Core.”

SOLUTION: STANDARDIZE ON CLOUDBEES CORE

HomeAway implemented CloudBees Core enabling self-service for its development teams, while providing enterprise-class centralized management, analytics, security and support.

“CloudBees Core gives us the best of both worlds,” says Aydin. “The teams are free to run their own masters for CI and we have a central mechanism to see what’s going on and manage what’s being deployed to production.”

The team also installed several CloudBees Core plugins, including Jenkins Pipeline, Checkpoints, Templates, Role-based Access Control (RBAC) and Folders plugins, to support a workflow based on multiple team masters and a single official master.

The RBAC plugin addresses HomeAway’s security concerns by locking down access to jobs with permissions based on an individual’s role and need to interact with each job.

Team masters are managed entirely by each individual development team. These teams can install any plugins they need without affecting other teams and without involvement from Aydin’s tools team. Team masters handle any technology stack the team needs for all CI aspects of the workflow, which culminates in a Docker image ready for deployment.

Currently HomeAway has about 60 team masters, representing over 1,000 engineers across several teams. This is up 400 percent from about 12 masters when CloudBees Core was initially deployed.

The single official master is managed by Aydin’s group and is responsible for the CD part of the workflow. Once a version is cut and stored in a Docker registry by a team master, the official master takes over, runs a security scan and moves the Docker image to a secure repository in preparation for promoting a version through staging to production.

The development tools team uses CloudBees Jenkins Operations Center to manage the official and team masters, monitor the health of the Jenkins environment and track key analytics, including builds per week, deployments per week and overall velocity. Aydin explains that, at HomeAway, velocity is measured as the elapsed time between a deployment and the Git commit that led to that deployment.

RESULTS

Builds increased 3X - from 7,000 to 20,000 per week.

“We have increased the number of builds we are completing by 3X - from 7,000 to 20,000 per week,” says Aydin.

Timely expert support received.

“As a global company with offices in Austin, London, Madrid and elsewhere, we’re always working,” says Aydin. “When we need support, CloudBees is always quickly there to help us.”

Faster Jenkins master provisioning.

“Today with CloudBees Core, we can set up a team with a new master in a matter of hours,” says Aydin. “From that point on they are free to run the master as they want. That self-service mechanism – with centralized auditing and security – is an important advantage for HomeAway.”

Reduction in time spent on rights and roles management.

Using the RBAC plugin, HomeAway can quickly and easily address security concerns by locking down access to jobs with permissions based on an individual’s role and need to interact with the job.

Faster new project set up.

With CloudBees Core, HomeAway is able to gain significant time savings onboarding new developers, teams and projects.

Higher uptime.

Jenkins master failures are now automatically detected and a backup master is up in minutes, without human intervention to keep the system running.

Faster upgrades.

HomeAway has significantly reduced the administrative time required for Jenkins upgrades, rolling releases and plugin compatibility.CI/CD at this scale would not have been possible without the added automation, security and manageability of CloudBees Core.

CI/CD at this scale would not have been possible without the added automation, security and manageability of CloudBees Core.
Uluc Aydin
Senior Development Tools Engineering Manager