Nutanix is a global leader in cloud software and hyper-converged infrastructure solutions, making infrastructure invisible so that IT can focus on the applications and services that power their business.
Migrating to Kubernetes on Google Cloud
The Nutanix team recently went thru the task of migrating their web services to Kubernetes running on Google Cloud Platform (GCP).
As part of this migration, the team uncovered several challenges with their existing CI/CD process:
- Teams were deploying bi-weekly to Kubernetes production clusters, using a combination of ad-hoc scripts and Kubectl commands
- Deployment pipelines across development, QA, and operations teams were inconsistent, manual, and often lacked auditing
- Promoting code across environments could take 4 people from Dev, QA, and Ops up to 4 hours per deployment
- Kubernetes clusters and configuration could often get out-of-sync with different versions of microservices
- Rolling deployments were standard with no blue/green or canary release strategies to minimize business impact
It was at this point the Nutanix Epoch team began to research building their own Continuous Delivery platform, as well as evaluating solutions like Harness and Spinnaker.
“We estimated it would take us a minimum of 3 engineers and 6-months to create our own MVP CD platform, we also looked at open source solutions like Spinnaker and decided it would be too much to set up and host,” said Kevin Lu, Member of Technical Staff at Nutanix Epoch.
Self-Service Continuous Delivery For Everyone
Kevin and team also evaluated Harness Continuous Delivery as-a-Service.
With out-of-the-box support for GCP, Kubernetes, Jenkins and HashiCorp Terraform, Harness was able to integrate and demonstrate consistent, repeatable software deployments across their Kubernetes clusters in less than a week.
Harness pipeline templates are used to keep deployments standard and repeatable, with many pipelines being auto-triggered (on-demand) by developer commits.
Kevin and the Nutanix Epoch teams also have a complete history and audit trail of all deployments for future reporting purposes. It’s now possible for Epoch teams to report which version of microservice is deployed on what cluster in a matter of seconds.
Deployment pipelines now use the Harness SecretStore to comprehensively manage secrets and keys and also utilize automated canary deployments based on Epoch metrics, and Harness Continuous Verification that uses unsupervised machine learning to minimize potential business impact and improve the overall customer experience.
Reducing Deployment Time by 93%
Deployments at Nutanix Epoch are now democratized across teams using the Harness self-service Continuous Delivery platform.
Epoch teams can now deploy independently on their own, instead of requiring 4 people x 4 hours (16 hours total) for each deployment. As a result, time-to-production (promoting code from dev to production) has been reduced from weeks to days.
Deployment time itself also dropped 93% from 15 minutes to 60 seconds. Developers and QA engineers can now deploy to any Kubernetes cluster in just 1 minute and guarantee microservice version consistency across all pods within a cluster.
Release engineers, who may have had to spend lots of time to help developers deploy, can now focus their efforts on more advanced aspects of the release process. For instance, they have begun exploring automated post-deploy tests with Harness, which will also be a benefit to overall product quality.
Finally, the Nutanix Epoch team saved 6 months and ~$267,000 in development costs with Harness by avoiding an internal CD build project.