Introduction
In the highly regulated world of institutional finance, efficiency and security are paramount. This SaaS provider faced significant challenges with their development and testing processes. This case study explores how they leveraged Bunnyshell's ephemeral environments to revolutionize their workflows, resulting in remarkable improvements in speed, efficiency, and developer satisfaction.
The Challenge
"Our CTO had a dream to streamline our CI/CD process, allowing engineers to update ticket statuses and run tests against code in the given branch or ticket. Unfortunately, our custom CI/CD job, while functional, was slow and only allowed us to run a maximum of two stacks at a time."
The limitations of the custom CI/CD setup created significant bottlenecks. Multiple jobs often queued up, waiting to be executed, which delayed the testing phases and impacted overall productivity. Deploying a new environment used to take 2 days, even with Terraform.
Finding the Solution
The journey to finding the right solution began with their Head Engineer, who introduced the concept of Environment as a Service (EaaS). Initially, they explored a different provider but found its pricing model and lack of platform flexibility unappealing. During their search for alternatives, they discovered Bunnyshell. It stood out due to its favorable pricing structure and the crucial ability to pause environments.
Implementation
Integrating Bunnyshell with their existing tools — Jira and Jenkins — was a smooth and efficient process.
Job Creation: The first step was creating a new job based on their custom setup, replacing some code with the Bunnyshell CLI. This allowed them to leverage Bunnyshell's capabilities effectively.
Tool Integration: The CTO then set up the connection between Jira and Jenkins, ensuring seamless communication between these tools and Bunnyshell.
Learning on the Go: The team faced some initial challenges learning Bunnyshell as they implemented it. However, the support from Bunnyshell was exceptional, providing real-time assistance via a dedicated Slack channel. This support was crucial in overcoming hurdles quickly.
Fast-Paced Development: One of the challenges encountered was that they were moving so fast and building so much that they accidentally broke the Bunnyshell build server by filling up the disk space. Despite this, the Bunnyshell support team promptly addressed the issue, ensuring minimal disruption.
Results and Benefits
Speed and Efficiency
The improvements have been significant. Setting up a new stack used to take 2 days, even with Terraform. Now, with Bunnyshell, it takes just 7 minutes. "The automation of environment creation has been a game-changer. We no longer worry about high AWS infrastructure costs and the tedious process of setting up stacks manually."
Developer Experience
The developers have embraced the new processes enthusiastically. As the Lead DevSecOps Engineer mentioned, "Our developers now have the flexibility to use their own Bunnyshell accounts to tweak environment variables and change branches easily. This has made their day-to-day activities much more productive and less stressful."
Cost Savings
The adoption of ephemeral environments has also led to significant cost savings. "By creating environments only when needed and destroying them after use, we have significantly cut down on our infrastructure costs," said the Lead DevSecOps Engineer. "This pay-as-you-go model ensures that we are using our resources efficiently."