文档

可灰度

更新时间:
一键部署

灰度为变更提供一种快速低成本的试错机制,其具有多种不同层面的实现形式。一种典型的灰度机制,是提供一套完整而独立的灰度环境,用于正式生产变更前的提前验证。另一种较为典型的灰度机制,为在生产环境分批次变更,通过细化控制变更的节奏和影响范围,实现小规模生产试错能力。

灰度环境

灰度测试环境的目的是隔离生产流量,减少风险影响,在环境内形成调用闭环,方便测试,具体灰度环境建设如下图所示。灰度环境灰度的时间点位一定要在上线生产之前。可引流内网全部流量和线上1%流量作为测试覆盖的基础。

image.png

灰度分批

这里列举三个常见的分批方式:簇内分批、簇间串行、簇间打散,每个层面中对应的灰度方式如下图所示:

image.png

图中的簇指的是可以继续拆分的逻辑组,包含但不限于单元、地域、机房、可用区、VPC、集群、分组、自定义逻辑区域等。

线上生产环境灰度变更建议包含以下要求:可分批、可控制分批间隔、可观测/可验证、可暂停/可回滚。

  • 可分批:指灰度方式必须至少满足灰度分批方式中的一项:簇内分批、簇间串行、簇间打散。确定好灰度方式后,至少需要2批进行发布。如果确实不具备灰度能力,建议提升审批申报层级。

  • 可控制间隔:指变更可对每批次的发布时间间隔进行控制。一般建议重大风险的变更灰度时长至少一个小时核心系统的生产环境灰度发布总观测时长不少于30-60分钟。第一批变更完后至少观测20分钟,后续发布批次间隔可自定。

  • 可观测:指变更系统每批次发完后,需要观测并验证本批次发布无问题后才能进行下一批次的发布。观测和验证的手段包括但不限于以下方式:在变更系统里至少记录一项核心反应健康状态的指标(业务监控项、日志文件名等)或记录二次确认人员或采用自动化观测等,并能通过对线上文件验证等方式确定已发布成功。

  • 可回滚:指灰度时需具备分批回滚、全量回滚的能力,回滚单要有变更记录并可追溯。

  • 本页导读