灰度发布

2020-01-16  本文已影响0人  荒剑离

【概念介绍】

What: 是什么

一种谨慎的放量发布方式,适用于产品有新特性上线的时候,先选取小部分代表用户试探反馈,在取得一定经验后,再逐步推广更大规模的用户。采用这种发布方式能够一定程度的减轻可能的以及不可预知的风险带来的伤害与负面影响。

又叫金丝雀发布 [1]。在进行新特性测试的服务器就可视作“金丝雀”。

注释:矿井中的金丝雀
17世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;而当瓦斯含量超过一定限度时,虽然鲁钝的人类毫无察觉,金丝雀却早已毒发身亡。当时在采矿设备相对简陋的条件下,工人们每次下井都会带上一只金丝雀作为“瓦斯检测指标”,以便在危险状况下紧急撤离。

Why: 为什么

产品在迭代过程中会不断有新特性产生,但是即便在经过用户实验与内部测试的情况下,开发者也不知道这种新特性在正式上线后会受到什么样的效果。如果效果好,当然皆大欢喜;但是一旦效果不好,就会有很多难以预料的后果出现。为了避免这种不好情况的出现,或者是减轻由此而来的负面影响,就需要考虑先选去一小批代表性用户进行反馈试探。倘若效果好,就再一步步扩大发布群体,而如若效果不好,则可以及时改进,且不会波及到更多的用户。

因此灰度发布的出现是高度竞争市场中的必然行为,它既体现了企业对用户体验的尊重与关注,也反映了企业对产品未来发展走向的不确定性与小心的探索。

How: 怎么用

一般分为三个步骤:选取代表性用户,分析使用行为与用户反馈,改进或放量。

实际上考虑灰度发布一般多在第一步,可以在代码中做或者在接入层做 [2]。从灵活性上出发,通常选用后者。

参考资料

  1. 微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
  2. 灰度发布方案
  3. 服务灰度发布设计
上一篇 下一篇

猜你喜欢

热点阅读