BetterCloud is a leading SaaS Management Platform (SMP) that enables IT professionals to discover, manage, and secure the growing stack of SaaS applications in the digital workplace. With an expanding ecosystem of SaaS integrations, thousands of forward-thinking organizations like Zoom, Walmart, and Square now rely on BetterCloud to automate processes and policies across their cloud application portfolio.
BetterCloud built a sophisticated software deployment solution using Jenkins and custom scripts. They deployed 300 microservices to Kubernetes nearly 25 times a day. In layman's terms, BetterCloud practiced true Continuous Software Delivery. But at what cost?
Taylor Daugherty was in charge of the team overseeing BetterCloud’s delivery pipelines. As Taylor’s team onboarded more microservices, they ran into scalability issues. Jenkins required Taylor and another team member to spend 100% of their time on troubleshooting and maintenance. This equated to roughly $180k a year in maintenance effort. Taylor started to question how his team could handle more microservices since they were already at max capacity.
“Our Jenkins pipelines were made of thousands of lines of Groovy scripts and we spent 100% of our time maintaining them.”
Taylor Daugherty | Site Reliability Engineering Manager | BetterCloud
Each time a new service needed to be onboarded, the Jenkins scripts needed to be updated. Sometimes Taylor would have to ask resources from other teams to step in and help meet demand.
“Sometimes we would have to pull product engineers away from their work to help us with pipelines”
Taylor Daugherty | Site Reliability Engineering Manager | BetterCloud
As Taylor probed into Jenkins’ functionality, other cracks began to emerge.
Each software deployment required a new Jenkins agent to be spun up, which caused an additional 30 seconds per deployment. The Jenkins pipelines could only perform simple rolling deployments, meaning BetterCloud couldn’t safely test new features in production. Any change to a pipeline required a scheduled production deployment freeze that would disrupt roughly 15 deployments every occurence.
There had to be a less cost-prohibitive solution.
BetterCloud turned to Harness for increased deployment velocity without the maintenance toil.
Harness helped increase the number of production deployments to 80 per day, while reducing maintenance and troubleshooting effort to 10% of what it was - from 80 hours per week down to 8. That equates to a 3x increase in deployment velocity and a reduction of $180k a year in maintenance costs.
Harness also provided out-of-the-box deployment strategies like canary deployment, which BetterCloud has used to safely increase the number of features pushed to production. Canary deployments let users test and iterate in a safe manner by slowly releasing changes to a subset of a user base.
“Harness has helped us test new features and increased our level of innovation."
Taylor Daugherty | Site Reliability Engineering Manager | BetterCloud
All of this new functionality is readily accessible to new hires. For example, Site Reliability Engineer Wesley Williams felt comfortable deploying in Harness after a week of onboarding. It takes roughly a month for a user to be comfortable with Jenkins pipelines. According to Wesley, Harness is revolutionizing the way he works.
“Having repeatable, fast, and stable deployment pipelines will help us outpace our competition”
Wesley Williams | Site Reliability Engineer | BetterCloud
Harness is helping BetterCloud deliver better code to customers faster. Sign up for a free trial of Harness to see how fast and easy Continuous Delivery can be.
Enjoyed reading this blog post or have questions or feedback?
Share your thoughts by creating a new topic in the Harness community forum.