蓝绿部署、A/B测试以及灰度发布

2018-10-13  本文已影响27人  Scott丶Wang

过去的10年里,很多大公司都在使用蓝绿部署,安全、可靠是这种部署方式的特点。蓝绿部署虽然算不上新技术,但确实很实用。在有关于“微服务”、“DevOps”、“Cloud-native”的讨论中,蓝绿部署A/B测试灰度发布,这三种部署方式往往同时出镜。

蓝绿部署

蓝绿部署

建议看看这个关于蓝绿部署介绍的文章

基本上,蓝绿部署是一种以可预测的方式发布应用的技术,目的是减少发布过程中服务停止的时间。

注意一些细节:

A/B Testing

A/B测试跟蓝绿部署完全是两码事。
A/B测试是用来测试应用功能表现的方法,例如可用性、受欢迎程度、可见性等等。A/B测试通常用在应用的前端上,不过当然需要后端来支持。

A/B测试与蓝绿部署的区别在于,A/B测试目的在于通过科学的实验设计、采样样本代表性、流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信该结论在推广到全部流量可信;蓝绿部署的目的是安全稳定地发布新版本应用,并在必要时回滚。

A/B测试和蓝绿部署可以同时使用。

灰度发布/金丝雀发布

灰度发布是在原有版本可用的情况下,同时部署一个新版本应用作为“金丝雀”(金丝雀对瓦斯极敏感,矿井工人携带金丝雀,以便及时发现危险),测试新版本的性能和表现,以保障整体系统稳定的情况下,尽早发现、调整问题。

灰度发布/金丝雀发布由以下几个步骤组成:

总结

对于云计算来说,以上三种策略都是可用的。不难想象,通过docker和kubernetes,我们可以很简单的实现蓝绿部署、A/B测试、灰度发布……比如好雨云,深度整合Docker和Kubernetes,提供给用户包括代码滚动上线、一键代码回滚等功能和特性在内的强大的CI/CD体验

上一篇下一篇

猜你喜欢

热点阅读