Vrbo is part of Expedia Group and a world leader in the vacation rental space.
Summary: CloudBees CI helps VRBO 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 CI for CI/CD to increase automation, foster innovation and strengthen competitive advantage
Builds increased 3X - from 7,000 to 20,000 per week
Faster Jenkins controller provisioning
Reduction in time spent on rights and roles management
Faster new project set up
Products: CloudBees CI
Helping travelers create lasting, memorable vacation experiences is VRBO'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 VRBO do it? It’s all about software, the ability to create new tools and products and the pace at which VRBO 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 VRBO.
"CloudBees CI 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.”
VRBO'S software development teams were growing rapidly and demands on the organization were outpacing business hours and taxing internal teams. VRBO needed to onboard new engineers quickly and get them up to speed without missing a beat. Moreover, VRBO 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.
VRBO turned to CloudBees and selected CloudBees CI to tackle these challenges and enable a scalable, self-service model for development teams.
"CI/CD at this scale would not have been possible without the added automation, security and manageability of CloudBees CI."Uluc AydinSenior Development Tools Engineering Manager
Rapid Growth Causes Scalability Issues
Over time, VRBO 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.
VRBO 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 controller 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. VRBO 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 VRBO. 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 CI.”
Standardize on CloudBees CI
VRBO implemented CloudBees CI enabling self-service for its development teams, while providing enterprise-class centralized management, analytics, security and support.
"CloudBees CI gives us the best of both worlds,” says Aydin. "The teams are free to run their own controllers 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 CI plugins, including Jenkins Pipeline, Checkpoints, Templates, Role-based Access Control (RBAC) and Folders plugins, to support a workflow based on multiple team controllers and a single official controller.
The RBAC plugin addresses VRBO'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 controllers 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 controllers handle any technology stack the team needs for all CI aspects of the workflow, which culminates in a Docker image ready for deployment.
Currently VRBO has about 60 team controllers, representing over 1,000 engineers across several teams. This is up 400 percent from about 12 controllers when CloudBees CI was initially deployed.
The single official controller 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 controller, the official controller 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 controllers, 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 VRBO, velocity is measured as the elapsed time between a deployment and the Git commit that led to that deployment.
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 controller provisioning.
“Today with CloudBees CI, we can set up a team with a new controller in a matter of hours,” says Aydin. "From that point on they are free to run the controller as they want. That self-service mechanism – with centralized auditing and security – is an important advantage for VRBO.”
Reduction in time spent on rights and roles management.
Using the RBAC plugin, VRBO 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 CI, VRBO is able to gain significant time savings onboarding new developers, teams and projects.
Jenkins controller failures are now automatically detected and a backup controller is up in minutes, without human intervention to keep the system running.
VRBO 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 CI.