首页 > 解决方案 > Canary vs. A/B 发布策略

问题描述

我正在经历不同类型的发布策略,并且对 Canary 和 A/B 策略感到困惑。他们两个似乎很相似。

我在 Canary 上读到的所有内容都是“允许通过向一小部分人发布新版本来测试部署”。在 A/B 上是“针对特定客户群的 A/B 测试策略”。

那么它们之间的区别在哪里,两者的用例是什么?

参考资料:https ://azure.microsoft.com/en-in/overview/kubernetes-deployment-strategy/

标签: deploymentproduction-environmentrelease-managementab-testingcanary-deployment

解决方案


A/B 测试的目的通常是查看用户对新 UI、功能等的反应(在某种程度上,他们喜欢它)。但你知道新版本是有效的。因此,您实际上将应用程序的两个版本随机发送给所有这些版本。它可以是 50-50、80-20、90-10 等等。有时功能甚至不相关。你可能想看看哪个版本吸引了更多的客户和类似的东西。

Canary 更关注新功能的运行情况。或者如果它真的有效。通常是 90-10、80-20、A >> B。永远不要 50-50,因为如果出错,您不希望一半的用户体验不佳。因此,如果新版本能够按预期工作,您并不肯定。

最重要的区别(这是几乎没有人谈论的)是金丝雀测试具有会话亲和性。所以它不会将两个版本都发送给所有用户,而是随机将一些用户发送到新版本,并让他们保持在同一个版本上。


推荐阅读