Canarying is a technique for software rollout that attempts to ensure that performance metrics do not regress below a threshold due to the rollout. The updated software version is rolled out to a fixed percentage of users or data centers, and metrics are checked to ensure that deviations in performance are below the fixed threshold. While the current mechanisms can eliminate major regressions, they are not flexible enough to prevent medium-sized regressions from occurring. This disclosure describes techniques for creating smarter canaries for software rollouts using confidence intervals and feedback loops. The techniques described herein enable dynamic rollouts and ensure that performance metrics do not regress to even a small degree.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.