我正在研究不同类型的发布策略,但在金丝雀和A/B策略之间感到困惑。它们两者看起来很相似。
到处都说金丝雀“通过将新版本发布给少量用户来测试部署”,而A/B则是“针对特定客户群体的A/B测试策略。”
那么它们之间的区别在哪里,以及两种策略的用例是什么?
参考文献:https://azure.microsoft.com/en-in/overview/kubernetes-deployment-strategy/
我正在研究不同类型的发布策略,但在金丝雀和A/B策略之间感到困惑。它们两者看起来很相似。
到处都说金丝雀“通过将新版本发布给少量用户来测试部署”,而A/B则是“针对特定客户群体的A/B测试策略。”
那么它们之间的区别在哪里,以及两种策略的用例是什么?
参考文献: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,因为如果出现问题,您不希望一半的用户有糟糕的体验。因此,您不能确定新版本是否按预期工作。
最重要的区别(这几乎没有人谈论)是金丝雀测试具有会话关联性。因此,它不会将两个版本都发送给所有用户,而是随机向一些用户发送新版本,并将他们保留在同一版本。