Harness is core to Jobvite’s deployment scale and growth, without impacting developers’ day-to-day work with tools and process changes. Find out how.
Jobvite, an Employ Inc. brand, delivers a purpose-built, scalable, and proven end-to-end solution that streamlines complex talent acquisition activities. Jobvite acts as a strategic partner to empower customers to meet their ever-changing business needs, driving predictable outcomes, creating engaging candidate experiences, and increasing efficiency by optimizing TA capacity. With Jobvite’s Evolve Talent Acquisition Suite, organizations can streamline talent acquisition across the entire talent lifecycle and deliver quality candidates to drive their business forward.
Jobvite has a mature continuous integration (CI) platform in Jenkins, which allows developers to automate building and testing to surface potential errors before code reaches higher level environments. Over the past few years, this Jenkins platform has been extended, primarily with custom scripts to cover various parts of their continuous delivery (CD) process. A key challenge the release team faced was the growing complexity of maintaining custom scripts as their core application, services, and technologies evolved.
“Our deployment process consisted of a lot of manual work, a lot of scripting, and it wasn’t repeatable,” recalled Joshua Jackson, Senior Director of Engineering at Jobvite. “We were running 40 applications across clouds, all with manually triggered deployments.”
In addition, while some portions of testing for performance and quality were automated, a large portion of manual effort went into each build, verified by the team of Quality Analysts. This manual process was complex to maintain and debug when deployments failed. With 40 applications and a six-week release cycle — plus development and QA environments — Jobvite was running about 500 deployments per month.
In addition to their key initiative for internal tooling teams, Jobvite needed a true CD process that was sustainable, repeatable, and consistent. According to Jackson, “Our long-term goal was to have developers deploying daily and hourly. We needed to ensure performance and quality for all deployments, without impacting customers.”
Using homegrown scripts helped streamline deployments, but Jobvite was still manually triggering and monitoring deployments across systems. “When the team moved to triggering deployments via Jenkins, it gave them little visibility into failures, which added more manual work to understand why something might fail. That made it painful for the engineering organization to resolve,” Jackson said.
So, internal tooling teams set out to enable engineers to deploy their own code and artifacts through automation, visibility, and velocity.
In 2016, while Harness was still in beta, Jobvite jumped at the chance to automate and accelerate its CD while maintaining Jenkins for CI. The company had Harness deployed within a few hours, and at the end of the first day, teams were already building and deploying CD pipelines, such as one for its production microservices built using Java, Docker, Kubernetes, and AWS. Harness also integrated with Jobvite’s ecosystem of DevOps tools, including Jenkins, AppDynamics, New Relic, AWS Codedeploy, and Elastic.
“Harness was a natural fit as we transitioned from EC2 to Kubernetes,” said Jackson. “We were increasing the number of applications through splitting some macro services into microservices, and through a number of strategic business mergers and integrations that brought new applications into the mix. We went from 40 applications deployed every six weeks to about 240 deployed multiple times per day across development and QA environments, and every two weeks for our production environment.”
Harness is core to Jobvite’s deployment scale and growth without impacting developers’ day-to-day work with tools and process changes. At the time, Jobvite estimated it would have cost $500,000 (not including ongoing support and maintenance) to build a system similar to Harness. Now, Jobvite runs Harness on every developer’s machine to manage local development while integrating with Argo CD, an open source GitOps CD tool for Kubernetes. This integration makes it easier to manage GitOps-based deployments at scale and gives development teams more autonomy over how, and when, they deploy.
“With its integration to Argo CD, Harness is the central tool of observability, visibility, and centralization to realize our full CI/CD vision,” Jackson shared. “We can plug in any tool we want. We can natively use Argo for deployments. And, for workflows on other dev, QA, staging, and production environments, we can layer the visibility and UI of Harness on top to give our developers a central view of where their code has gone out. Harness sees it all, automatically, and makes it very transparent, so we can see everything from the cost of running applications to security to development to operations.”
From about 500 deployments per month to more than 2,000 per week, Jobvite increased its deployment volume and velocity by 1,500%. Prior to Harness, a typical production deployment for the team would take 27 minutes. Now that same deployment takes just two minutes — a reduction of more than 90%. Jobvite didn’t even need to rewrite existing CD processes, it simply reused and automated how existing scripts, repositories, and Jenkins CI platform performed together.
“We’ve doubled or tripled our capacity for the number of instances we’re running, and we are also doing dynamic scaling of services, which we weren’t doing before,” Jackson added. “Harness keeps track of it all, and allows us to do the modifications we need to do.”
When it comes to value, Jackson points not only to the drastically increased deployment velocity, but also to the day-to-day benefits that improve the quality of life for developers.
“It’s the simple things that stand out,” said Jackson. “Harness lets us set the deployment trigger, and that’s immensely powerful. Seeing information in a central tool lets us quickly find the cause of issues, and Harness filters the information so we can avoid information overload. Harness templates help drive behaviors and are one of the strongest capabilities of the platform. Our failure rate has dropped significantly and our lead times have also dropped.”
Harness also lets Jobvite diagnose and debug live applications rather than trying to reproduce issues locally. And, Harness ensures deployment best practices are followed, which Jackson calls the “easy golden path for developers.” But, most of all, it’s the visibility that Harness provides that helps Jobvite continue on its path to daily releases.
“Harness has given us a single pane of glass into our deployment process,” concluded Jackson.
Jobvite is an Employ Inc. brand. Employ Inc. empowers organizations of all sizes to overcome their greatest recruiting and talent acquisition challenges. Offering a combination of purpose-built, intelligent technologies, services, and industry expertise, Employ provides SMB to global enterprises with a single solution for recruiting and growing a diverse workforce. Through its JazzHR, Lever, Jobvite, and NXTThing RPO brands, Employ serves more than 18,000 customers across industries. For more information, visit www.employinc.com.