灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,一级一级的发布逐渐的扩大发布范围,最后达到系统的完全上线。
在其上可以进行A/B testing,即让一部分用户继续用产品特性 A,一部分用户开始用产品特性 B,如果用户对 B 没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到 B 上面来。
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。
好处:
1)提前获得目标用户的使用反馈;
2)根据反馈结果,做到查漏补缺;
3)发现重大问题,可回滚“旧版本”;
4)补充完善产品不足;
5)快速验证产品的 idea。
目前产品的迭代速度越来越快,尤其是互联网产品,如果按照传统的发布方式周期比较长,如果出问题修复的代价就好比较大。
灰度发布其实也就是让问题更早的暴露出来减少后期修复的成本。
灰度发布增加了测试范围和测试资源,但是如何制定灰度发布策略是关键:
首先,要挑选目标客户,也就是最早一批使用客户;
其次,产品针对用户的隔离,目标用户访问目标模块;
最后,监控要完善到位,性能异常点等。
灰度发布的本质实际上是让用户帮你测试,但是用户不是专职的测试,