Overview
The article discusses Kayenta, an open-source platform developed by Netflix in collaboration with Google for Automated Canary Analysis (ACA). It highlights how Kayenta enhances deployment safety and developer productivity by automating the risk assessment of canary releases, allowing for rapid and reliable software changes in production environments.
What You'll Learn
1
How to implement Automated Canary Analysis using Kayenta
2
Why using a baseline cluster improves canary release reliability
3
How to configure metric sources for canary analysis
Prerequisites & Requirements
- Understanding of canary release strategies
- Familiarity with Spinnaker and its components(optional)
Key Questions Answered
What is Kayenta and how does it function?
Kayenta is an automated canary analysis platform that assesses the risk of deploying new software versions by comparing key performance metrics from a baseline and canary cluster. It automates the decision-making process to either continue or abort the deployment based on significant metric degradation.
What are the stages involved in Kayenta's judgment process?
The judgment process in Kayenta involves data validation, data cleaning, metric comparison, and score computation. Each stage ensures that the metrics are reliable and accurately classified to determine if the canary release is successful or not.
How does Kayenta support different metric sources?
Kayenta supports multiple metric sources such as Prometheus, Stackdriver, Datadog, and Netflix's Atlas. It allows combining metrics from different sources in a single analysis, enhancing flexibility in monitoring and evaluation.
What improvements does Kayenta provide over manual canary analysis?
Kayenta automates the canary analysis process, significantly reducing the time engineers spend on manual checks. This automation allows for more frequent deployments and improved reliability in identifying issues compared to the previous manual graph comparisons.
Key Statistics & Figures
Percentage of production canary judgments handled by Kayenta
30%
Currently, Kayenta processes an average of 200 judgments per day as part of Netflix's deployment strategy.
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Software
Kayenta
Automated Canary Analysis
Software
Spinnaker
Continuous delivery platform that manages the lifecycle of canary and baseline clusters.
Monitoring
Prometheus
One of the supported metric sources for Kayenta.
Monitoring
Stackdriver
Another supported metric source for Kayenta.
Monitoring
Datadog
Supported metric source for Kayenta.
Monitoring
Netflix's Atlas
Supported metric source for Kayenta.
Key Actionable Insights
1Implementing Kayenta can streamline your deployment process by automating risk assessments for canary releases.By using Kayenta, teams can reduce the time spent on manual analysis and increase deployment frequency, leading to faster iterations and improved software quality.
2Utilizing a baseline cluster alongside the production and canary clusters enhances the reliability of your canary analysis.This setup ensures that metrics are not influenced by long-running processes, providing a clearer comparison between the canary and baseline versions.
3Integrate Kayenta with Spinnaker for a seamless continuous delivery pipeline.Kayenta's tight integration with Spinnaker allows for automated decision-making during deployments, ensuring that only safe changes are rolled out.
Common Pitfalls
1
Relying solely on long-running production clusters for canary comparisons can lead to unreliable results.
This happens because the metrics from a long-lived cluster may be affected by historical data and processes, making it difficult to accurately assess the performance of the new canary version.
Related Concepts
Canary Release Strategies
Continuous Delivery Practices
Automated Testing And Monitoring