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 improves developer productivity as developers can spend less time deploying and more time building features and fixing bugs.Kevin Lu | Technical Staff | Nutanix
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.
Harness provides a direct benefit to our end-users and customers, as they won’t have to wait on manual engineering processes to get updates to their products.Kevin Lu | Technical Staff | Nutanix
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.
Incorporating Harness into our release pipeline has increased developer productivity and has injected some well-needed quality of life improvements into engineering processes. Now, we are able to spend less time worrying about deployment issues and more time focusing on product features.Harjot Gill | General Manager | Nutanix
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.
Many of Nutanix’s product lines, Epoch included, use Kubernetes in some capacity. Nutanix even has its own enterprise ready Kubernetes solution. From my experience, Harness is one of the premier tools in the market for handling Kubernetes based deployments, so incorporating Harness into the Nutanix lineup of tools is a forward thinking step for the company as well.Harjot Gill | General Manager | Nutanix
Finally, the Nutanix Epoch team saved 6 months and ~$267,000 in development costs with Harness by avoiding an internal CD build project.