部署发布的几种思路:运维司机们,您都理解对了吗
《部署发布的几种思路:运维司机们,您都理解对了吗》要点: 文章背景
我们先明确一个概念,这些名词为两类:部署 VS 分布. 部署,针对环境而言;发布则是一种策略,需要在业务层面理解,包含如何发布、如何回滚、发布那些功能、哪些用户可以使用等等. 好了,先聊聊部署. Blue/Green Deployment(蓝绿部署)从过去到现在,蓝绿部署模式因为安全、可靠的实用特征,在很多大企业中落了地. 步骤:
看似步骤麻烦,理解了还好.蓝绿部署无需停机,风险相对较小. 不过蓝绿部署在考虑到两个环境的在线服务随版本切换的特征,版本一致性和数据的一致性保证非常重要. 另外,在非隔离基础架构(VM、Docker等)上蓝绿部署有一定毁灭性风险,不是高手要慎用. 滚动部署滚动发布,相对小众的市场,一般是取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用.周而复始,直到集群中所有的实例都更新成新版本. 之所以小众,看缺点:
灰度发布/金丝雀发布灰度发布指版本在黑白之间平滑过渡,最传神写意的就是金丝雀部署. “金丝雀部署”,在业界有两种策略形式:
A/B Testing(AB测试)A/B测试和蓝绿部署是两码事, 很多行业都有A/B测试的概念,A/B测试更像是用户侧的新旧版本机制,通过灰度一部分试验客户,使用A/B不同的效果,达到验证不同版本在可用性、受欢迎程度、可见性等等实际表现上的对比. A/B测试是推广到全部流量可信新版前的科学验证方式,facebook改版就用过这个方式;蓝绿部署是直接发布到可信新版. A/B测试和蓝绿部署可以同时使用,就像嵌套if,最后选定最受欢迎最靠谱的可信版本. 运维司机们,您看明白了吗? 原文来自微信公众号:DevOps研究院 (编辑:ASP站长网) |