互联网产品的灰度发布
互联网产品的灰度发布
在传统软件产品发布过程中(例如微软的Windows 7的发布过程中),一般都会经历Pre-Alpha、Alpha、Beta、Release candidate(RC)、RTM、General availability or General Acceptance (GA)等几个阶段(参考Software release life cycle)。可以看出传统软件的发布阶段是从公司内部->外部小范围测试>外部大范围测试->正式发布,涉及的用户数也是逐步放量的过程。
在互联网产品的发布过程中也较多采用此种发布方式:产品的发布过程不是一蹴而就,而是逐步扩大使用用户的范围,从公司内部用户->忠诚度较高的种子用户->更大范围的活跃用户->所有用户。在此过程中,产品团队根据用户的反馈及时完善产品相关功能。此种发布方式,按照中国特色的叫法被冠以“灰度发布”、“灰度放量”、“分流发布”。
关于“灰度发布”叫法的来源无从考察。只不过按照中国传统哲学的说法来看,很符合中国人中庸的思维模式:自然界所有的事物总是以对称、互补、和谐的形式存在,例如黑与白、阴与阳、正与负、福与祸。在二元对立的元素间存在相互过渡的阶段,所谓”祸兮福所倚,福兮祸所伏“。具体到黑与白,在非黑即白中间还有中间色——灰色。于是出现了很多关于灰色的说法:灰盒测试,灰色管理(极力推荐 任正非:管理的灰度),灰色收入,灰色地带等等。因此对于灰度发布实际上就是从不发布,然后逐渐过渡到正式发布的一个过程。
1、灰度发布的作用
及早获得用户的意见反馈,完善产品功能,提升产品质量
让用户参与产品测试,加强与用户互动
降低产品升级所影响的用户范围
。。。
2、灰度发布的步骤
1)、定义目标
2)、选定策略:包括用户规模、发布频率、功能覆盖度、回滚策略、运营策略、新旧系统部署策略等
3)、筛选用户:包括用户特征、用户数量、用户常用功能、用户范围等
4)、部署系统:部署新系统、部署用户行为分析系统(web analytics)、设定分流规则、运营数据分析、分流规则微调
5)、发布总结:用户行为分析报告、用户问卷调查、社会化媒体意见收集、形成产品功能改进列表
6)、产品完善
7)、新一轮灰度发布或完整发布
3、常见问题
3.1)、以偏概全
1)、问题特征:
a、选择的样本不具有代表性;
b、样本具有代表性,但选择样本用户使用习惯并没有涵盖所有核心功能
2)、解决方案:
样本选择要多样化,样本的组合涵盖大部分核心功能
3.2)、知识的诅咒
”知识的诅咒“的说法来自《粘住》中实验,具体可以自己搜索一下。我们自己对于自己开发的产品极为熟悉,于是乎想当然认为用户也应当能够理解产品的设计思路、产品的功能使用。
1)、问题特征:
a、结果没有量化手段;
b、只依赖于用户问卷调查;
c、没有web analytics系统;
d、运营数据不全面,只有核心业务指标(例如交易量),没有用户体验指标
e、对结果分析,只选择对发布有利的信息,对其他视而不见
2)、解决方案:
a、产品设计考虑产品量化指标
b、结果分析依据量化指标而不是感觉
3.3)、发布没有回头路可走
1)、问题特征:
a、新旧系统用户使用习惯差异太大,没有兼容原有功能
b、新旧系统由于功能差异太大,无法并行运行,只能强制升级
c、新系统只是实现了旧系统部分功能,用户要完整使用所有功能,要在 在新旧系统切换
d、新旧系统数据库数据结构差异太大,无法并行运行
2)、解决方案:
前期产品策划重点考虑这些问题,包括:
回滚方案、 新旧系统兼容方案、用户体验的一致性、用户使用习惯的延续性、新旧系统数据模型兼容性
3.4)、用户参与度不够
1)、问题特征:
a、指望用户自己去挖掘所有功能。对于一个产品,大部分用户经常只使用部分功能,用户大部分也很懒惰,不会主动去挖掘产品功能
b、互动渠道单一
c、陷入“知识的诅咒”,不尊重参与用户意见
2)、解决方案:
a、善待吃螃蟹的样本用户,包括给予参与测试的用户小奖励(例如MS给参与Win7测试用户正版License)、给用户冠以title
b、通过邮件、论坛、社区、Blog、Twitter等新媒体与用户形成互动
c、提供产品功能向导。在hotmail最近的升级后的功能tip,gmail的tip都有类似的产品功能导向。在产品中会提示类似于:你知道吗,xx还提供xx功能,通过它你可以xx 。
4、灰度发布 VS. A/B测试
灰度发布于互联网公司常用A/B测试似乎比较类似,老外似乎并没有所谓的灰度发布的概念。按照wikipedia中对A/B测试的定义,A/B测试又叫:A/B/N Testing、Multivariate Testing,因此本质上灰度测试可以算作A/B测试的一种特例。只不过为了术语上不至于等同搞混淆,谈谈自己理解的两者的差异。
灰度发布是对某一产品的发布逐步扩大使用群体范围,也叫灰度放量
A/B测试重点是在几种方案中选择最优方案
关于A/B测试可以参考这篇文章:A/B测试终极指南
5、灰度发布引擎
对于一般的小系统并不需要单独的灰度发布引擎,可以参考A/B测试中做法,在页面javascript或服务器端实现分流的规则即可。但对于大型的互联网应用而言,单独的用于管理用户分流的发布引擎就很有必要了。“钱掌柜”分流发布模式 提到了原来阿里软件所使用的灰度发布引擎,设计思路具有普遍性,可以供参考
6、参考文档
“钱掌柜”分流发布模式
百度百科:灰度发布
A/B testing
A/B测试终极指南
www.blogjava.net/xiaomage234/archive/2012/07/04/382199.html
互联网产品的灰度发布相关推荐
- 灰度发布(灰度测试)
灰度发布(灰度测试) 灰度发布(灰度测试)概念 灰度发布的意义 灰度发布流程 灰度测试的要点注意 1.精确的流量分发控制 2.监控系统的支撑 3.灵活的发布系统 灰度发布(灰度测试)概念 如果软件要在 ...
- 互联网产品开发中的“快”字诀
当今互联网的发展,已不是大鱼吃小鱼的时代,而是快鱼吃慢鱼的时代.互联网产品的制胜原则就是一个字--"快".在各种形态的产品研发中,我们始终贯彻如一的价值观之一就是"快&q ...
- 灰度发布:灰度很简单,发布很复杂灰度发布(灰度法则)的6点认识
什么是灰度发布,其要点有哪些? 最近跟几个聊的来的同行来了一次说聚就聚的晚餐,聊了一下最近的工作情况如何以及未来规划等等,酒足饭饱后我们聊了一个话题"灰度发布". 因为笔者所负责的 ...
- 互联网产品发布之灰度发布
1. 为什么要灰度发布 互联网服务变动频繁,发布周期短.速度与质量总是难以双全. 灰度发布能降低发布风险,减少影响范围. 降低对测试的依赖,减少线下自测的数据构造成本. 方便集中监控日志,全量发布由于 ...
- 为何互联网大厂都在采用蓝绿发布、滚动发布、灰度发布?
在互联网软件的生产过程中有一环是必不可少的,那便是部署.发布.通过把代码部署在特定环境中,再对外向用户发布新功能.早期的时候互联网刚刚发展起来,涌入互联网的网民还比较少,服务器资源也比较昂贵.紧张,这 ...
- 【产品】什么是灰度发布
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,一级一级的发布逐渐的扩大发布范围,最后达到系统的完全上线. 在其上可以进行A/B testing,即让一部分用户继续用产品特性 A,一部分用户开 ...
- 马化腾谈互联网产品创新:灰度法则的七个维度
需求度:用户需求是产品核心,产品对需求的体现程度,就是企业被生态所需要的程度 大家可能认为说用户有点老生常谈,但我之所以在不同场合都反复强调这一点,是因为最简单的东西恰恰是做起来最难的事情. 产品研发 ...
- 蓝绿部署、金丝雀发布(灰度发布)、AB测试……
点击关注公众号,Java干货及时送达 来源 | https://www.jianshu.com/p/0df88fe4a1e3 随着微服务架构的普及,线上服务越来越多,随之而来的就是部署越来越频繁:随着 ...
- 灰度发布系统架构设计
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源:https://www.toutiao.com/i69 ...
最新文章
- js push(),pop(),unshift(),shift()的用法小结
- 每个程序员都必须遵守的编程原则
- 编程之美系列之一——阶乘的运算
- WCHAR,CHAR,TCHAR的区别
- 前端学习(1883)vue之电商管理系统电商系统之每次只能打开一个菜单项并解决边框问题
- 前端学习(1308):URl
- LeetCode 1780. 判断一个数字是否可以表示成三的幂的和(位运算)
- STM32网络ETH
- java 获得 加载类_java 类的加载,与获得相应的方法
- 正则表达式--C#正则表达式的符号及例子
- 【MyBatis笔记】02-MyBatis配置SQL打印
- activiti7基础入门、activiti7实战、activiti7运用
- python can总线_MicroPython教程之TPYBoard v102 CAN总线通信
- 4K Video Downloader (4K视频下载器)V3.0.40
- 桌面上的Internet explorer图标删不掉
- c语言中把文件看成什么流,C语言中的文件流
- 随记——一站式前端搭建平台(必盛云虚拟主机)
- 全球及中国小型风力发电行业研究及十四五规划分析报告(2022)
- 转载 ----MAVEN相关学习
- 安装使用——百家CMS微商城说明文档(2)
热门文章
- 把玩Alpine linux(二):APK包管理器
- vue.js分页组件(新手学习记录)
- 左手价格战右手结盟 巨头加码云计算市场洗牌在即
- form-validation-engine中的正则表达式
- 浅谈c语言中的字符串
- Spring 2.0技术手册 下载
- 中职一年级计算机英语课件,中职生一年级英语.doc
- [ js处理表单 ]:保存、提交
- log4j.properties 使用
- android sqlite查询某个字段,Android的sqlite:如何检索特定列的特定数据?