灰度发布:灰度很简单,发布很复杂

article/2025/11/5 6:48:24

什么是灰度发布,其要点有哪些?
 

最近跟几个聊的来的同行来了一次说聚就聚的晚餐,聊了一下最近的工作情况如何以及未来规划等等,酒足饭饱后我们聊了一个话题“灰度发布”。

因为笔者所负责的产品还没有达到他们产品用户的量级上(最低的都在1千万+),也就谈不上灰度发布这一环节,所以只有听的份。

虽然笔者暂时没有涉及到,但在工作中也听过关于灰度发布的一些信息,只不过这一次听他们几个交谈后更是增长了不少知识,为了让自己更加的了解这一个“新”概念,回到住处就在网上慢慢的“啃”起来,下面则是我对“灰度发布”的理解,现分享出来。

我理解的灰度发布,主要是按照一定策略选取部分用户,让他们先行体验新版本的应用,通过收集这部分用户对新版本应用的反馈(如:微博、微信公众号留言或者产品数据指标统计、用户行为的数据埋点)以及对新版本功能、性能、稳定性等指标进行评论,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。

1、什么是灰度发布,有哪些好处?

答:灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。

在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。(来源于百度百科)

好处:

  1. 提前获得目标用户的使用反馈;
  2. 根据反馈结果,做到查漏补缺;
  3. 发现重大问题,可回滚“旧版本”;
  4. 补充完善产品不足;
  5. 快速验证产品的 idea。

2、那么灰度发布的流程是咋样的呢?

 

相关解释:

  • 选定策略:包括用户规模、发布频率、功能覆盖度、回滚策略、运营策略、新旧系统部署策略等
  • 筛选用户:包括用户特征、用户数量、用户常用功能、用户范围等
  • 部署系统:部署新系统、部署用户行为分析系统(web analytics)、设定分流规则、运营数据分析、分流规则微调
  • 发布总结:用户行为分析报告、用户问卷调查、社会化媒体意见收集、形成产品功能改进列表

【某宝的案例.来源网络】

产品需求收集和确定 –>; 技术方案出具和分工协调 –>; 开发编码 –>; 内部服务器环境的测试 –>; 联调(又名预发环境) –>; 小淘宝环境发布,内部员工喷喷喷 –>; 小流量(具体有多少取决于业务影响面)公网测试 –>; 收集数据写反馈 –>; 全量上线。

3、灰度发布的方式方法有哪些?

产品Q群、产品微信群、内部用户、app自升级、换量渠道、不会被抓包的小市场,在这些渠道将灰度包放还出去。这里边可控度最强的当属app自升级了。根据时间段,用户版本,升级请求数量,实际升级数等等

4、灰度发布三大类型?

  1. web页面灰度:按照ip或者用户id切流啊。具有随机性,可以控制比例
  2. 服务端灰度:考验主系分能力了,可以做逻辑切换开关,按照义务相关属性逐渐切流
  3. 客户端灰度:一般按照用户逐渐推送包,主要是PC端(WIN,MAC)、移动端(安卓,OS)内部大规模内测

5、灰度发布时,目标用户选取策略?

即选取哪些用户先行体验新版本,是强制升级还是让用户自主选择等。可考虑的因素很多,包括但不限于地理位置、用户终端特性(如分辨率、性能)、用户自身特点(性别、年龄、忠诚度等)。

对于细微修改(如文案、少量控件位置调整)可直接强制升级,对于类似新浪微博改版这样的大型升级,应让用户自主选择,最好能够提供让用户自主回滚至旧版本的渠道。

对于客户端应用,可以考虑类似Chrome的多channel升级策略,让用户自主选择采用stable、beta、unstable channel的版本。在用户有明确预期的情况下自行承担试用风险。

6、A/B测试云服务提供商

海外应用:optimizely

国内应用:AppAdhoc(简单够用)、optimizely(相当强大,尤其在native app A/B测试这块)

7、延伸阅读:

2015年5月31日,马化腾在香港大学李兆基会议中心大礼堂举办了一场创业演讲,演讲中爆了一个大料:微信的诞生史。

微信在诞生之前,在腾讯内部有三个团队在同时做微信,主要竞争者为张小龙的e-mail团队和手机QQ团队。做这个产品之前,腾讯内部并没有给这个产品定一个完整的基调,而是让公司内部形成一个激烈的竞争,通过观察用户对产品的喜好程度和产品的实际完成情况决定上线结果。

马化腾的灰度机制是这样的:很多公司在一开始做产品定义时,要么确定它是黑的,要么确定它是白的。但是马化腾发现,互联网产品的定义是有用户投票决定的。在一开始,我们不定义它是黑,还是白,有一个灰度的周期。在这个灰度周期里,让用户的口碑决定它是生是死,是白还是黑。

说的再直接点,这也是马化腾创新上的灰度机制:容忍失败,允许适度浪费,鼓励内部竞争内部试错。马化腾说过,在产品研发过程中,我们还会有一个困惑:自己做的这个产品万一失败了怎么办?

我的经验是,在面对创新的问题上,要允许适度的浪费。怎么理解?

就是在资源许可的前提下,即使有一两个团队同时研发一款产品也是可以接受的,只要你认为这个项目是你在战略上必须做的。

很多人都看到了微信的成功,但大家不知道,其实在腾讯内部,先后有几个团队都在同时研发基于手机的通讯软件,每个团队的设计理念和实现方式都不一样,最后微信受到了更多用户的青睐。

你能说这是资源的浪费吗?我认为不是,没有竞争就意味着创新的死亡。即使最后有的团队在竞争中失败,但它依然是激发成功者灵感的源泉,可以把它理解为内部试错。

具体内容,请参考:《马化腾致信合作伙伴:灰度法则的七个维度》

  1. 需求度:用户需求是产品核心,产品对需求的体现程度,就是企业被生态所需要的程度;
  2. 速度:快速实现单点突破,角度、锐度尤其是速度,是产品在生态中存在发展的根本;
  3. 灵活度:敏捷企业、快速迭代产品的关键是主动变化,主动变化比应变能力更重要;
  4. 冗余度:容忍失败,允许适度浪费,鼓励内部竞争内部试错,不尝试失败就没有成功;
  5. 开放协作度:最大程度地扩展协作,互联网很多恶性竞争都可以转向协作型创新;
  6. 进化度:构建生物型组织,让企业组织本身在无控过程中拥有自进化、自组织能力;
  7. 创新度:创新并非刻意为之,而是充满可能性、多样性的生物型组织的必然产物。

http://chatgpt.dhexx.cn/article/ooIGZgsy.shtml

相关文章

互联网产品灰度发布

互联网产品灰度发布 关于2016年5月15日,DevOps成都站|架构与运维峰会活动总结 1. 前言 2 2. 灰度发布定义 5 3. 灰度发布作用 5 4. 灰度发布步骤 5 5. 灰度发布测试方法 6 6. 灰度发布引擎 6 7. 灰度发布常见问题 8 7.1. 以偏概全 8 7.1.1. 问题…

使用 KubeSphere 实现微服务的灰度发布

前言 今天来说一说,在 KubeSphere 中两个 " 小姐姐 " 如何来回切换,这是什么意思哩?其实就是互联网产品中常用的灰度发布方式。 互联网产品需要快速迭代上线,既要保证新功能运行正常,又要保证质量&#xf…

Spring Framework灰度发布

今天简单介绍下SpringFramework微服务中几种服务发布策略以及实现方式。我接触过的有蓝绿、滚筒和灰度发布。 蓝绿发布: 简单说就像美帝选总统投票一样,非蓝即绿一刀切,这个其实也是传统软件架构最常使用的升级方式,只不过服务需…

构建灰度发布环境

手把手教你搭建一个灰度发布环境 提示:灰度发布,又称金丝雀发布金丝雀发布 这一术语源于煤矿工人把笼养的金丝雀带入矿井的传统。矿工通过金丝雀来了解矿井中一氧化碳的浓度,如果一氧化碳的浓度过高,金丝雀就会中毒,从…

灰度发布与滚动发布、蓝绿发布介绍

文章目录 灰度发布与滚动发布、蓝绿发布介绍一、灰度发布与滚动发布、蓝绿发布介绍1、蓝绿部署2、滚动发布3、灰度发布 二、灰度发布好处三、Gitee上高热度的开源灰度发布系统四、安装使用 灰度发布与滚动发布、蓝绿发布介绍 一、灰度发布与滚动发布、蓝绿发布介绍 ​ 引用文…

不容闪失的灰度发布简介

目录 1 线上项目灰度发布的重大意义2 项目发布问题剖析3 解决方案3.1 蓝绿部署3.2 滚动发布3.3 灰度发布3.4 灰度发布方法 1 线上项目灰度发布的重大意义 上面这个软件相信大家一定不陌生,很多人和我一样一定还欠他钱!支付宝经历了十多年,从未…

不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布

原文网址:不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布_IT利刃出鞘的博客-CSDN博客 简介 本文介绍不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布。 升级服务器的应用时,要停止掉老版本服务,将程序上传…

互联网产品的灰度发布

互联网产品的灰度发布 在传统软件产品发布过程中(例如微软的Windows 7的发布过程中),一般都会经历Pre-Alpha、Alpha、Beta、Release candidate(RC)、RTM、General availability or General Acceptance (GA)等几个阶段(参考Softwa…

【产品】什么是灰度发布

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,一级一级的发布逐渐的扩大发布范围,最后达到系统的完全上线。  在其上可以进行A/B testing,即让一部分用户继续用产品特性 A,一部分用户开始用产品特性 B,如果用户对 B 没有什么反对意见,那么逐步扩大范围,把所…

灰度发布 java_当我们说做灰度发布的时候我们在做什么

现在对于稳定性的要求越来越高,同时在维护的应用中有一个正在进行迁移,需要采取一些措施来实现平稳升级和迁移。采用灰度发布是一个可行的方案。 什么是灰度发布 百度百科上的解释是这样的 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方…

版本升级之灰度发布

在项目迭代的过程中,不可避免需要“上线”。上线对应着部署,或者重新部署;部署对应着修改,修改则意味着风险。应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统…

产品灰度发布

一、什么是灰度发布(灰度测试) 如果软件要在不久的将来推出一个全新的功能,或者做一次比较重大的改版的话,要先进行一个小范围的尝试工作,然后再慢慢放量,直到这个全新的功能覆盖到所有的系统用户&…

灰度发布

1、什么是灰度发布,有哪些好处? 答:灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用…

灰度发布究竟是啥

概述 目前产品优化迭代的方式,通常是直接将某版本上线发布给全部用户,一旦遇到线上事故(或BUG),对用户的影响极大,解决问题周期较长,甚至有时不得不回滚到前一版本,严重影响了用户体…

项目灰度发布功能设计

平台项目迭代发布过程中,有一些功能发布时会产生较大的影响,一旦出现问题,会影响用户使用体验,降低产品信誉。为了解决这一问题,在重要功能发布时需要引入灰度发布功能,借助一小部分用户在生产环境进行功能…

【华为云技术分享】从零搭建一个灰度发布环境

DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师。 官方网站:devui.design Ng组件库:ng-devui(欢迎Star) 引言 灰度发布&#x…

什么是灰度发布

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。…

准确率(accuracy),精确率(Precision),召回率(Recall)和综合评价指标(F1-Measure )

自然语言处理(ML),机器学习(NLP),信息检索(IR)等领域,评估(evaluation)是一个必要的工作,而其评价指标往往有如下几点:准确率(accuracy),精确率(Precision),召回率(Recall)和F1-Measure。 本文将简单介绍其中几个概念。中文中这几个评价指标翻译各有不同,所以一般情…

多分类评价指标:准确率、精确率、召回率、F1值

准确率、精确率、召回率、F1值 定义: 准确率(Accuracy):正确分类的样本个数占总样本个数, A (TP TN) / N 精确率(Precision)(查准率):预测正确的正例数据占预测为正例数据的比…

准确率(Accuracy) VS 精确率(Precision) VS 召回率(Recall)

准确率(Accuracy) VS 精确率(Precision) VS 召回率(Recall) 在信息检索中, 准确率通常用于评价结果的质量, 而召回率用来评价结果的完整性。 我们的目标是训练一个模型,它可以将这个二维空间中的新数据点分成红色和蓝色两类。 数据有两种状态:测试集数据和预测结…