Canary 与 A/B 发布策略

Canary vs. A/B release strategy

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

我在 Canary 上看到的所有地方都是 "Allows to test deployment by releasing the new version to a small group of them.",在 A/B 上看到的都是 "An A/B testing strategy targets a specific group of customers."

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

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

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

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

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