One of the features most requested by our customers has been an Automated Canary Analysis engine to allow them to deploy with more speed and confidence and in a more automated fashion. While Spinnaker allows for canary deployments out of the box, they must be manually configured. With Barometer, Armory customers can easily add an "automated canary" stage as a simple drop-down to their Spinnaker deployment pipelines.
Here’s a video showing a Spinnaker pipeline with Barometer:
Barometer is currently in alpha. We are looking for additional early testers. If you’re interested in Barometer, please submit an inquiry below or email us at firstname.lastname@example.org. These are our alpha tester requirements:
- Using OSS or Armory Spinnaker to deploy at least one application to production
- Using DataDog or ElasticSearch for application health monitoring
Why Barometer is valuable:
Typically, deploying an application to production requires a high level of integration testing and manual judgement gates to ensure quality. This can mean that it takes days, weeks or even months to go from code merged, to code in production. With Barometer, developers can get applications in front of users faster and in a more automated fashion. Barometer’s automated canaries allow an application to be deployed without any manual judgements (aka “manager approvals”) to a small subset of the user population. Then, Application Performance Monitoring (APM) services like DataDog can monitor the application’s metrics to see how that user population is responding to the canaried deployment. If its health compares poorly to a control population (such as the previous release), Barometer will automatically stop the deployment and roll it back to a healthy state. This level of sophisticated automation allows application and platform teams to move much faster, deploying more safely and with more confidence. As one of our customers recently told us:
“One goal of continuous delivery is to reduce "code inventory". Just like a car dealer’s goal is to reduce physical inventory on lots, our goal is to reduce code that’s sitting on the sidelines not being exposed to customers." - SVP of an Armory customer
What Barometer does:
Barometer enables automated canary deployments without any human intervention. It does this by integrating with your real-time metrics platforms (ie. DataDog, ElasticSearch, etc) and monitoring key metrics that you care about. When a specific key metric falls out of bounds (based on your defined thresholds), it will kill the canary. Otherwise, it will promote it to the next stage, ultimately resulting in a full deployment to 100% of your fleet.
How Barometer works:
Barometer is the engine that validates if a canary is good or bad. It defines interfaces into Spinnaker and into real-time metric platforms like DataDog.
In order to enable Barometer:
- Upgrade Armory Spinnaker to v.1.6.35 or higher (open-source Spinnaker will be enabled in future versions)
- Add your API keys for DataDog (or other metrics platform)
- Define which metrics you care about (Barometer will listen to these metrics during the canary)
- Configure a canary stage in your Spinnaker pipeline
What’s coming next:
Currently, Barometer only works with DataDog and ElasticSearch. We will be adding additional real-time data sources in the coming months. Integrations will be based on customer demand — our current roadmap calls for New Relic, Sensu, and SignalFX. Additionally, we plan on adding centralized logging integrations such as Splunk and Sumo Logic to allow for monitoring exceptions in logs (ie. the # of 200s, 300s, 400s, 500s, etc).