Stackdriver is a popular monitoring tool that was acquired by Google in 2014 for observing performance and diagnostic data for services running in Google Cloud Compute (GCP), Amazon Web Services (AWS) and Kubernetes environments.
Stackdriver aggregates metrics, logs, and events from cloud infrastructure, giving developers and operators a rich set of observable signals. At Harness, we automatically analyze these signals using unsupervised machines learning to determine if a new deployment or canary phase is successful or contains anomalies, which could require an automatic rollback.
Why Automate Canary Deployments and Deployment Health Checks?
If you’re serious about Continuous Delivery you’ll want your deployment pipelines to execute and complete in less than 30 minutes.
Why? A few reasons actually:
- Deployment effort/time seriously limits deployment frequency
- You can’t deploy hourly if your deployments take several hours to complete
- Failing fast is better than failing slow, remember deployments are experiments.
- The more time you spend deploying the less you spend developing
As an example, one of our early customers Build.com used to deploy 3 times a week to production. After each deployment 5-6 team leads would login into New Relic and Sumo Logic and manually verify for 60 minutes that everything was OK. That’s 5-6 engineering hours per deployment just spent on verification. With Harness, Build.com automated verification down to one engineer and 15 minutes per deployment.
Applying Machine Learning to StackDriver Monitoring Data
Harness helps customers build deployment pipelines in minutes. It also helps customers auto-verify deployments by combining machine learning with their existing monitoring tools, in this instance, StackDriver.
Once Harness deploys a new application or service to a target environment it will immediately connect to StackDriver and build a model of what it is observing. It will then compare this model with previous deployment models so it can identify new anomalies or regressions, and if need be, automatically rollback to the previous working version. At Harness, we call this Continuous Verification.
Integrating StackDriver with Harness for Continuous Verification
Good news! There is no setup for StackDriver.
Harness automatically discovers the StackDriver API for each of the Cloud Provider accounts you have registered. So if you have 10 GCP accounts registered in Harness, it will automatically discover the StackDriver APIs for those accounts.
Adding StackDriverVerification To Your Deployment Workflows
Create or open an existing deployment workflow in Harness:
click ‘Add Verification‘, and select ‘StackDriver‘:
Verifications can be applied to any type of deployment workflow, e.g. Canary, Blue/Green, Rolling and so on.
Now, let’s pick the Cloud Account, Region and Metrics we want to analyze that relate to the Service we’re deploying:
Once all your metrics are defined you can choose whether you require previous analysis or canary analysis to establish a baseline. You can also specify the duration of the verification (default is 15 minutes).
Let Harness and StackDriver Auto-Verify Your Deployments
With StackDriver integrated and configured you’ll now be able to automatically verify all your deployments.
Take the below example that shows a typical deployment which has been successfully verified using StackDriver.
You can see on the right that all StackDriver metrics have been validated by the Harness machine learning algorithms. Green means no anomalies or regressions have been identified and the deployment is operating within its normal range.
You can get started with Harness and StackDriver today by signing up for your free trial.