kantver - Fotolia
The terms continuous integration and continuous delivery are often used together and combined into one tool set, but one enterprise discovered that they affect different parts of IT as teams adopt new practices.
Choice Hotels began its DevOps transition more than four years ago and established continuous integration testing of application code through the open source Jenkins tool early on. However, it relied on homegrown scripts to create its continuous delivery pipeline until last year, when it sought a more systematic approach.
Last spring, the hotel chain reviewed CI/CD tools such as XebiaLabs and the AWS CI/CD suite, which includes CodePipeline and CodeDeploy utilities. It also looked at Netflix's Spinnaker and tools from Harness.io, which focus on continuous delivery pipelines. Ultimately, it chose to stick with its existing CI processes, and add continuous delivery from Harness, a vendor that emerged from stealth in late 2017 with the message that CI and CD are fundamentally different disciplines.
"Harness appealed to us because it's offered via SaaS, so we don't have to babysit the tool and do its care and feeding," Judson said. "But it's also focused on the deployment piece, which meant we could keep the Jenkins build jobs we already had in place."
Choice Hotels was happy with the CI process and testing matrix it had set up, which integrated tools from SonarQube and Checkmarx with Jenkins. Continuous delivery pipelines, on the other hand, are more focused on automating the infrastructure that supports application deployments. This involves other types of skill sets, and the daily work of different IT personnel -- namely, IT ops.
"We've seen the biggest improvement in continuous delivery in data centers, where we used scripts on load balancers to segment traffic for canary deployments," Judson said. "We're able to deploy much faster there and we're much more confident in our deployments."
Choice Hotels is still rolling out the Harness tool across more than 1,200 different applications it maintains in the AWS cloud and its data centers in Phoenix. But for applications where the tool is in use, the company was able to deploy application updates 20% more often last year, and so far, this year, that boost has been more than 30%.
Continuous delivery pipeline clarifies DevOps roles
While the addition of a CD tool has smoothed the workflow that connects application developers and IT ops pros, it has decreased the amount of communication between them -- in a good way.
For example, the hotel chain's IT ops team can use Harness to automate the patching of its Java apps. In the past, this required manual labor by both developers and ops pros, but with security patching now done on the fly, that process doesn't require developers to spend time on it.
Chris JudsonVP of engineering, Choice Hotels
"The developer and ops side have actually become more focused on their separate roles, and ops has a dashboard to see what's coming and how deployments are going for themselves," Judson said.
Every so often, the Choice Hotels IT ops team must roll back deployments to resolve issues, which the Harness tool also automates. However, the team is still working out the connections between Harness and its Kafka data pipelines and Terraform infrastructure as code tools to ensure that it doesn't stand up redundant infrastructure to support new deployments, and that if it does, they can be rolled back smoothly.
Harness includes cloud cost analysis tools with its product that track the efficiency of application deployments, but these measurements are retrospective. Judson said he'd like to see Harness offer predictive cost analysis as well, based on the historical data.
A Harness spokesperson declined to share specific roadmap details but said such a feature is being considered by the company.