instruction: Show Kubernetes deployment automation and CI/CD integration
output: Greenhouse CI/CD fuels Greenhouse's hyper-growth and efficiency With CircleCI, the Greenhouse team can innovate quickly, manage their monolith, and keep developers from context switching The Challenge Greenhouse’s hiring platform is among the most popular and cutting-edge on the market. Nearly 4,000 leading companies across a variety of industries rely on Greenhouse every day to move candidates from application, to interview, to full-on hire as effectively and efficiently as possible. Their introduction of an interview kit and structured hiring resources quickly made Greenhouse stand out in their field. As the market followed-suit, Greenhouse needed to continue their rate of innovation, while maintaining their robust product offering. As a market leader, Greenhouse puts a huge emphasis on software. “We’re a software company. It’s the root of our product,” says Josh Bazemore, Engineering Manager, Tools and Operations at Greenhouse. “Staying ahead of the curve and keeping up our pace of innovation is challenging but necessary. It’s a big way that we set ourselves apart from other offerings in-market.” Before implementing CircleCI in 2019, Josh’s team at Greenhouse was consistently running into 30-35 minute builds. This caused a bottleneck for their engineering team and was distracting developers from their work. “From a DevOps perspective, developers would push up a change and then have to wait 30 minutes,” says Josh. “For that amount of time, you can’t just sit there and wait, you have to start something else. The amount of context switching that our devs were having to do was hurting them and resulted in more cards in progress, which is not usually a good thing.” Their team needed a way to not only put developers in complete control of their tests, but also speed up their release cycles and provide the resources they needed to scale. As Josh put it, “We wanted developers to be happy in the work that they were doing all day instead of fighting their tools.” The Solution After spending two weeks thoroughly stress-testing CircleCI, Josh and his team decided to port over all of their projects. Within a month of the switch, their team had brought their build time down from 30 minutes to under 10 minutes - a 66% improvement. Now, developers don’t waste time waiting on their builds, meaning the team can iterate much faster. “With our new build time in the 10-minute range - which is where our largest, most complex app is now - devs can catch up on Slack, email, or tackle whatever else is on their plate,” says Josh. “That’s a positive efficiency impact for us as a team.” Josh explains that with these improvements, their test suite is not a bottleneck in the release process. “With CircleCI, things can move through the release process more quickly,” says Josh. “It probably means an extra release a day that we couldn’t do before.” But that speed did more than just increase efficiency - it had an impact on stability as well. “Every single release gets bigger and riskier if a slower test suite runs during your development process. In that sense, CircleCI helps with both innovation and stability. We don’t have to choose between moving faster and being stable.” CircleCI has also helped Greenhouse reduce recovery times. “Before CircleCI, our best case for getting, say, a hotfix out into production was probably an hour. Nowadays, we can get something out in 30 minutes,” says Josh. This helps Greenhouse stay nimble and respond quickly to outages as they arise. “Obviously, it’s important to be able to rush out an emergency change without having to sidestep your process and potentially introduce other problems. But our primary recruiting application is pretty large and we need to be able to release around 20 changes a day on a single codebase.” As a result of increased speed and agility, survey data shows that CircleCI has helped Greenhouse increase developer happiness and productivity. “We send out a regular developer sentiment survey once a quarter to see how people are feeling about the tools that they’re working with,” says Josh. “On the test runner specifically, we increased our overall positive sentiment by 50% after we rolled out CircleCI. I don’t want to understate the importance of developer sentiment, because for us that change was huge - we just don’t see build time as a complaint anymore. And for the first couple of weeks, there were shout outs from our more veteran developers who had dealt with the previous system - it was a big deal.” Why CircleCI Before making the switch to CircleCI, Josh and his team spent a great deal of time evaluating the platform. They had to know whether CircleCI would work for their monolithic application, and scale quickly as their team continued to grow. The decision came down to a few key areas: Faster builds Quicker recovery time Scalability + customizability Ease of use Developer happiness “What makes me most confident in CircleCI is knowing that I have full control over the process, and this platform can scale with whatever my needs are. I know that we can achieve whatever build times we need, and that’s really what I’m looking for.” “ With CircleCI, things can move through the release process more quickly.” Josh Bazemore | Engineering Manager at Greenhouse About Greenhouse Greenhouse is a hiring software company that helps businesses become great at hiring through their powerful approach to recruitment, complete suite of software and services, and large partner ecosystem – so businesses can hire for what’s next. Industry Software Company size Enterprise Region North America Languages PostgreSQL Ruby on Rails React.js Ruby Python Go Node.js Clojure Elixir Deploys to Kubernetes AWS Amazon Elastic Compute Cloud (EC2)