Advanced is the UK’s third largest provider of business software and services with a £254m turnover, 16,000 customers and 2,200 employees. Advanced provides enterprise and market-focused solutions that allow customers to reimagine what is possible, innovate in their sectors and improve the lives of millions of people in the UK.
AWS Migration – The Trigger For CD
Advanced, like many other organizations, are migrating their traditional on-premise applications to the public cloud — more specifically AWS. With over 100 different products/teams and ~700 software engineers, an internal CI/CD initiative was kicked off earlier this year to empower all development teams with a self-service Continuous Delivery platform to help them increase velocity and reduce time-to-market.
Ad-hoc Continuous Delivery Didn’t Scale
In the past, a typical deployment pipeline at Advanced would take months to build using a combination of Jenkins, AWS CloudFormation, Octopus Deploy, Puppet, SSM and Bash scripts. “Pipelines required several thousand lines of Puppet code to be maintained by DevOps engineers and teams,” said Martin Reynolds, Development and DevOps manager at Advanced.
In addition, these pipelines could take anywhere from 3 to 30 hours to execute with many manual interventions. Deployment health checks and verifications were also manual, ranging from 2 engineers for 2 hours for minor releases to 4-5 engineers for 1 day for major releases.
“It was difficult to make Continuous Delivery scale with ad-hoc pipelines” said Martin. “That’s when we decided to kick off a new CI/CD initiative internally, with the goal of making Continuous Delivery self-service for all our developers.”
It was at this point that Martins team evaluated the Harness platform.
CD as-a-Service With Harness
Today, Harness helps Advanced automate software delivery across 100+ product teams, 700+ software engineers, 6 data centers and several technology stacks/tools that include:
- AWS EC2, ECS, EKS and Lambda for public cloud
- Jenkins, GitHub, and JFrog Artifactory for Continuous Integration (CI)
- AppDynamics, CloudWatch, and Elastic/ELK Stack for monitoring
“Jenkins builds it, Harness deploys it,” said Martin, “Harness makes our deployments easy.”
Jenkins builds it, Harness deploys it. Harness makes our deployments easy.Martin Reynolds | DevOps Manager | Advanced
Harness provides Advanced software engineers and DevOps teams with the following capabilities:
- Intuitive Self-Service CD Platform to accelerate onboarding across teams
- Fully automated Canary deployments to reduce the risk of rollouts
- Auto-verification of deployments using machine learning to baseline performance and quality data from AppDynamics, CloudWatch, and Elastic/ELK stack
- Auto-rollback of deployments that fail performance/quality baselines
- Templatization of deployment pipelines by DevOps
- Re-use of pipeline templates by development teams
Upgrading Jenkins With Harness
Not only is Harness automating the delivery of software inside Advanced, but it also helps automate the upgrade of tooling like Jenkins.
For example, the DevOps team at Advanced would spend 2-3 hours a week upgrading Jenkins with patches and upgrades. With Harness, this process is automated and takes 15-20 minutes, saving the DevOps engineers a few hours a week.
10X ROI in Just 2 Months
The first 10 application teams and 100 services were onboarded with Harness in just 2 months, many of which were enabled on day one.
Deployment pipelines now take DevOps engineers a few hours to create/templatize with virtually no maintenance versus several months with ongoing maintenance. Developers reuse these pipeline templates for their specific services and environments without having to re-create the wheel every time, thus reducing their effort and time-to-market.
“We saw immediate results,” said Martin. “One of our education teams saw deployment time drop from 3-hours to 1-minute across 19 services; another team saw deployment time drop from 30 hours to under 30 minutes.”
Overall, Harness has helped Advanced reduce their average deployment time by 88% from 2 days to 2 hours, with a 90% reduction in onboarding time for dev teams from 2 days to 90 minutes. “We’ve conservatively saved 50-60% of total DevOps and engineering time spent on deployments and our previous CI/CD process,” said Martin.
We’ve conservatively saved 50-60% of total DevOps and engineering time spent on our previous CI/CD process.Martin Reynolds | DevOps Manager | Advanced