An open source tool for automated deployment monitoring has been launched by Netflix and Google to help other companies modernise their practices.
Kayenta is a form of ‘canary analysis’ tool which aims to detect problems before they become a serious issue. Fun fact: Coal miners would once take canaries in cages down into the pits as they are especially sensitive to dangerous gases — if a canary dies, the miners knew to make a quick exit.
Netflix first began development on Kayenta for internal use but decided it wanted to release it to a wider audience. Much of the code was specific to Netflix, so the company enlisted the help of Google to rewrite parts of it and make it modular. The teams spent about a year undertaking this effort.
Greg Burrell, Senior Reliability Engineer at Netflix, says:
"Automated canary analysis is an essential part of the production deployment process at Netflix and we are excited to release Kayenta. Our partnership with Google on Kayenta has yielded a flexible architecture that helps perform automated canary analysis on a wide range of deployment scenarios such as application, configuration and data changes.
By the end of the year, we expect Kayenta to be making thousands of canary judgments per day. Spinnaker and Kayenta are fast, reliable, and easy-to-use tools that minimise deployment risk while allowing high velocity at scale."
The result is a flexible tool which is going to help businesses of all sizes improve their deployments. Big companies have the budgets and expertise to build a bespoke solution for their needs, but this still takes a lot of time.
Tom Feiner, Systems Operations Engineer at Waze, comments:
“Canary analysis along with Spinnaker deployment pipelines enables us to automatically identify bad deployments. With 1000+ pipelines running in production, any form of human intervention as a part of canary analysis can be a huge blocker to our continuous delivery efforts.
Automated canary deployment, as enabled by Kayenta, has allowed our team to increase development velocity by detecting anomalies faster. Additionally, being open source, standardizing on Kayenta helps reduce the risk of vendor lock-in.”
In today’s world, companies know they need to move fast. Startups typically perform better here because they are more nimble. Continuous software development practices break larger projects into smaller parts so directions can be changed more quickly if needed, but deployments can often be rushed and face problems.
Kayenta, like other canary analysis tools, will run checks to quickly ensure no problems will be faced when an upgrade is fully deployed. The system is objective and immune to any human error and potential bias involved with a manual canary test.
You can find Kayenta on Github: https://github.com/spinnaker/kayenta
What are your thoughts on Kayenta? Let us know in the comments.