Skip to content

Instantly share code, notes, and snippets.

@EliFuzz
Created July 19, 2023 08:26
Show Gist options
  • Save EliFuzz/09e2e1aa1c27757febe7659b9020ff69 to your computer and use it in GitHub Desktop.
Save EliFuzz/09e2e1aa1c27757febe7659b9020ff69 to your computer and use it in GitHub Desktop.
Best Practicies: Canary deployment
Best Practice Description
Define clear goals and metrics for your canary deployment Have a clear idea of what you want to achieve with your changes, and how you will measure their effectiveness and impact. For example, you may want to improve user engagement, reduce latency, increase conversions, or enhance security. You should also define the criteria for success and failure, and the thresholds for rolling back or proceeding with the deployment
Choose an appropriate canary group Select a representative sample of your users or servers that will receive the changes first. This group should be large enough to provide meaningful feedback, but small enough to limit the potential damage if something goes wrong. You should also consider factors such as geographic location, device type, user behavior, and traffic patterns when choosing your canary group
Implement a robust monitoring and alerting system Monitor the performance and behavior of your canary group closely, and compare it with the baseline group that did not receive the changes. You should use both quantitative and qualitative metrics, such as error rates, response times, user satisfaction, retention, and revenue. You should also set up alerts that will notify you of any anomalies or issues that may occur during the canary deployment
Evaluate the results and make data-driven decisions Analyze the data collected from your monitoring and alerting system, and determine whether your changes achieved the desired goals and metrics. You should also solicit feedback from your users, either directly or through surveys, reviews, or social media. Based on the results, you should decide whether to roll back, modify, or proceed with the deployment to the rest of the system
Communicate clearly and transparently with your stakeholders Inform your customers, employees, partners, and investors about your canary deployment strategy, goals, progress, and outcomes. You should also explain the benefits and risks of your changes, and how you are mitigating them. You should also be prepared to handle any questions or concerns that may arise during or after the canary deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment