XPath Case Study

Leverages Isolated Pull Request Environments to Reduce Testing Time by 30% and Accelerate Release Cycle to Weekly

XPath.global encountered a significant hurdle in their development process due to the lack of application containerization and a static DevOps setup. This resulted in doubled testing efforts, and slower release frequency, causing delays for developers who had to wait for deployments and pipeline modifications.

Main image

COMPANY

XPath.global, a leading global mobility marketplace ecosystem, was established in 2018 with the aim of revolutionizing how enterprises interact with mobility service providers through digital tools. At the time of this case study, the R&D team at XPath consisted of 10 software engineers, led by their CTO, Laura Michaud.

HEADQUARTERS

Bucharest, Romania

FOUNDED

2018

TEAM SIZE

10 Software Engineers

Challenge

XPath's engineering team found themselves facing a series of bottlenecks in their development process. These issues were leading to extra testing cycles and were obstructing their ability to roll out regular updates.

One of the main problems was that their application was not containerized, which meant they had to undertake additional sysadmin tasks and often encountered the infamous "it worked on my machine" issue.

Their DevOps setup was also quite rigid, with a development and a staging environment that the team was merging into.

XPath's team utilized feature branches for every ticket, a development branch deployed on the dev environment, and a release branch deployed on staging.

The testing process was conducted in two stages, first on dev and then on staging before the release was merged to master and deployed live.

This led to increased volatility in the development process, resulting in doubled testing efforts and slower release frequency. As a result, they would sometimes postpone releases when things were not ready, were not properly tested, or had found bugs.

Solution

Bunnyshell stepped in to assist the team by dockerizing their application for development. This ensured that developers could run the app anywhere with predictability.

Bunnyshell's Environment-as-a-Service platform provided the perfect solution, allowing each branch to have a separate, isolated environment, created on-demand.

Pull requests typically stay open for 2-3 days for bug fixes and around a week for bigger features. Ephemeral Environments are created as Drafts with the Pull Request and then when they’re ready to be tested on, they’re deployed from the Bunnyshell dashboard.

The ideal solution for us was to have a way for the QA to be able to test in isolation before merging the code to the dev or staging branch. When there were a lot of things being merged together in order to be tested and we’d see a problem, we wouldn’t know where the issue was coming from.

Laura Michaud, CTO

Results

With Bunnyshell EaaS, ephemeral environments are initiated with the Pull request. The code is not merged until the QA has thoroughly tested the changes. This approach has reduced the testing time as they no longer duplicate testing efforts.

They have also eliminated the staging environment, with most of the testing now happening in the ephemeral environments. Small issues are occasionally tackled in dev, which now serves as the new staging environment.

Bunnyshell helped us by abstracting DevOps for our team, we don’t need a dedicated resource in the team, with the current knowledge the development team has we can handle most tasks related to testing and deployments.

Laura Michaud, CTO

On the feature branch, they would test normally, but then on the staging/release, they would not spend more than a day before deploying in production. So the savings are a few days at least, per sprint.

They saw a fast adoption, faster than she (the CTO) expected, especially on the QA. Her QA person didn’t have any devops knowledge, but with 2 short demos of Bunnyshell, she immediately picked up the flow.

Frontend developers now can connect directly to the environment with the work in progress for the backend and this way they work in parallel with the backend developers for the same feature. Previously there would be a barrier for frontends to learn how to run the backend, but now it just works.

Previously, the process was bottlenecked by waiting for the backend changes to be merged into the dev branch. Only then could the frontend connect to the dev environment, which now included the backend changes. However, these changes were not tested prior to this merge.

The most significant impact of Bunnyshell is the shift from releasing once every 2-4 weeks to a policy of releasing once a week, without any stress.

The most measurable impact we have from Bunnyshell is going from a release once in 2-4 weeks, to having a policy to release once a week, and nobody’s stressed about it

Laura Michaud, CTO

Frequently asked questions

Everything you need to know about the product and billing.

What is Environments as a Service (EaaS)?
Environment-as-a-Service (EaaS) is a cloud platform that automatically creates and manages complete application environments on-demand. Unlike traditional infrastructure management, EaaS combines your application code with its entire runtime environment - databases, APIs, configurations, and dependencies - under unified version control. When you make code changes, EaaS automatically provisions the necessary infrastructure and configures everything your application needs to run, eliminating manual environment setup and ensuring consistency between development, testing, and production environments.
What is an Ephemeral Environment?
Ephemeral environments are temporary, isolated testing environments that are created automatically for each pull request and destroyed when no longer needed. Unlike permanent staging environments that are shared and constantly overwritten, ephemeral environments give each feature its own dedicated space for testing, previewing, and validation. They typically last for the duration of a pull request lifecycle - from creation to merge - ensuring every code change gets tested in isolation without conflicts or waiting times.
What are the benefits of EaaS?
Environment-as-a-Service (EaaS) accelerates development by eliminating testing bottlenecks and reducing rework. Teams can spin up production-like environments instantly for every pull request, enabling parallel development where multiple features are tested simultaneously without conflicts. This eliminates waiting times for shared staging environments, catches integration bugs before production, and allows stakeholders to review features immediately through live preview links, ultimately resulting in faster, higher-quality deployments.
Is Bunnyshell SOC 2 Compliant?
Bunnyshell has successfully achieved SOC 2 Type I compliance and ISO 27001 certification, confirming that our systems and processes meet the rigorous international standards for security, availability, processing integrity, confidentiality, and privacy required by enterprise and regulated industries.
How to integrate Bunnyshell with common CI/CD and DevOps tools?
Bunnyshell includes an extensive REST API, a CLI tool, Github Actions, and a Go SDK to integrate with your existing CI/CD and DevOps tools enabling you to easily deploy environments directly from your own release pipeline
Do I have to pay for a POC?
No. We offer a no-cost POC to allow you to test and assess the functionalities and benefits of our product. This period gives you the opportunity to make an informed decision without any upfront investment.
AminAminAminAmin

Still have questions?

Can't find the answer you're looking for? Please chat to our friendly team.

Get in touch