什么是灰度发布?

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

Gmail Labs是一个新特性橱窗,用户可以自己选择一些未">正式发布的新特性进行体验,不喜欢可以关闭,在这个过程中,吃了螃蟹,也当了Google的小白鼠。

这个做法比传统的灰度要高明很多,更加尊重用户:

1、它没有强X用户,用户是否愿意当小白鼠完全自愿

2、新特性不是打包在一起的一个大版本,可以选择某几个喜欢的螃蟹尝尝

3、螃蟹不好吃可以扔掉,不用硬吃进肚子里引发肠胃炎

当然这些好处也是有代价的:

1、要开发一个labs平台实现新特性上架、独立尝试的功能,这可能要改动Gmail的前后台架构

2、新特性要按照一定规范来写,才能发布到这个平台上,可能会增加一些工作量

3、小白鼠用户增多之后,对系统的压力可能会有一定提升,因为没有用户调用的界面都不一样了

既然Gmail Labs能够顺利发布,那么说明对Google来说,以上这些问题都不算问题。另外,现在展示的新特性,都注明了开发者的名字,那么,Gmail Labs可能会开放这个平台让外部开发者也能提交特性?这倒是很open的一种开发模式,非常适合Google的web app产品线。

互联网产品有一个特点,就是不停的升级,升级,再升级。我所在的项目组,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系统down机的风险…..   为了避免这些风险,很多产品都采用了灰度发布的策略,其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退。

很长时间,我们都一直在改进搜索引擎的排序算法,尽量让最好的商品出现在搜索结果的第一屏。我们尝试了很多中算法,不断调整各个排序因子所占的比重。但是我们无法确信我们的排序结果能满足所有用户的需求。所以我们采用了灰度发布,选取几个一级商品类目,在其中应用不同的排序算法,比如在女装类目中,我们把卖家信用所占的比率调整到60%,在珠宝类目中,我们把销售量所占的比率调整到60%.. 然后发布出去,收集用户反馈,最终选择一种大部分人认为好的算法。

QZone是另外一个采用灰度发布的例子。大家都知道,QZone在过去的一年中改进是巨大的,从以前慢悠悠的老爷爷变成了一个充满青春活力的小伙子。其中经历了大小无数次的发布,他们的发布也都是采用了灰度发布的策略,用户数据的升级并不是大面积的一次性升级,而是通过一个用户升级标志服务器,如果用户数据没有升级,后台会把此用户的数据逐步迁移到新版本上,然后将升级标志位置1,升级过程中,用户仍然可以访问旧的数据,升级完成后的访问都将转发给新的版本。

QQ的很多产品发布都采用灰度发布,有些是抽取部分QQ号段升级成新系统,然后根据用户反馈再大范围升级。我们的产品大部分也是采用灰度发布。

本文来自:http://enki-ding-yeah-net.iteye.com/blog/1114565

时间: 2025-01-21 11:36:52

什么是灰度发布?的相关文章

互联网产品的灰度发布

在互联网产品的发布过程中也较多采用此种发布方式:产品的发布过程不是一蹴而就,而是逐步扩大使用用户的范围,从公司内部用户->忠诚度较高的种子用户->更大范围的活跃用户->所有用户.在此过程中,产品团队根据用户的反馈及时完善产品相关功能.此种发布方式,按照中国特色的叫法被冠以"灰度发布"."灰度放量"."分流发布". 在传统软件产品发布过程中(例如微软的Windows7的发布过程中),一般都会经历Pre-Alpha.Alpha.Be

MaxCompute flighting —— Task灰度发布

转载自zifu 前言 按照百科词条的解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度.降低发布上线的风险. 灰度发布的关键是选择合适的灰度策略,把符合策略的流量引入到新版本上.灰度策略的选择需要考虑待发布对象在链路或系统中的位置角色(如客户端.移动APP.服务后台等).用户属性和发布需求目标等.本文将对MaxCompute的Task灰度发布系统进行介绍. MaxCompute Task灰度发布 Max

tns的两种模式及灰度发布与冷启动

tns的两种模式     tns客户端tns-client支持不同的使用模式,包括load balance.masterslave模式,接下来介绍不同模式的作用和设计原理 load balance     在集群模式中,一个请求过来后要通过某种策略将请求分配到后台某个服务器上,这个策略我们可以称为负载均衡     tns采用加权随机的方法实现负载均衡     举例:服务serviceA下面有3个实例,对不同的实例分配不同的vNodes个数(权重),假如:a1:2:a2:4:a3:4,那么客户端会

开放平台灰度发布分享

首先上几张网上来的图片做下对比,作为开题: 2010年的facebook的首页 2015年的facebook的首页 这么长时间,facebook的首页风格.排版基本没太大变化. 其实在2012年,facebook进行首页升级改造,只是在升级版首页灰度期间数据表现始终较老版有明显差距. 最终 facebook 忍痛放弃上线众望所归的新版首页. 灰度发布 指能够达到平滑过渡的一种发布方式. 灰度发布的目的主要有: 规避一定的发布风险,降低产品迭代升级所影响的范围. 分流控制,灵活选择用户参与产品测试

113期:电子书《阿里巴巴技术实战2016年刊》重磅发布,免费下载!

本期头条   • [资料合集]首届阿里开源峰会回顾:讲义PDF+活动视频! • [在线峰会]即将直播:大数据技术峰会 • 微博红包技术最佳实践:架构及运维 • 阿里开源数据库AliSQL最佳实践   技术干货   如何使用好阿里云的网络安全隔离?深入分享阿里云ECS安全组实践经验 阿里云的ECS有经典网络和专有网络(VPC)两种网络类型.新业务建议优先考虑VPC网络,阿里云也将于年中开放经典网络的存量服务器向VPC网络迁移的功能.对于大家关注的云服务器的网络安全实践内容,我们特别邀请专家进行了深

初创公司如何实现 Ansible 多机房自动部署发布

本文讲的是初创公司如何实现 Ansible 多机房自动部署发布, 一.面临的问题 一个完整的程序开发流程少不了部署发布这个环节,而部署发布是一个重复的过程,最基本的操作包含停止系统服务.更新软件包.重启系统服务,复杂的还需要做好监控.灰度发布.回滚等.在只有少量服务器的情况下,大多数运维人员会选择手动更新,减少自动化部署发布的开发成本.而当服务器数量增加,甚至服务器可能存在于跨地域的不同机房情况下,如何减少部署发布的人力和时间成本,实现自动化部署发布和无缝发布,而且在部署发布期间仍然能够正常提供

基于容器服务的持续集成与云端交付(四)- 多种发布方式

前言 哲学有各种各样的流派,百家争鸣,但是只有一个哲学问题是严肃的,那就是生与死.而云端交付过程中也只有三个问题是严肃的. 如何重建你的系统 How to recreate your system? 如何安全地部署你的系统 How to safely change your system? 部署后的问题监控与解决 When something has gone wrong? 在前面的文章中,我们讲述了什么是云端交付,如何搭建从零搭建一个持续交付系统,而今天我们要谈的是如何安全的部署你的系统,部署

数人云操作系统2.0发布 OCP+数人云或将引领数据中心未来

借鉴谷歌先进理念的创业公司并不在少数,数人云就是利用Mesos和Docker技术打造了一个轻量级PaaS.向上在PaaS层平台支撑应用管理,向下在IaaS层提供底层资源统一调度分配. Docker 技术的出现为以轻量级容器为核心的新一代 PaaS 平台提供了爆发式增长的机会,数人云正在帮助国内传统企业将新一代云技术快速落地在生产环境中. 数人云还同清华大学OCP(开放计算项目)实验室进行深度合作并开展了很多前沿的研究工作,比如在10台OCP服务器去支撑百万并发的压力.对于CPU集群的管理.将深度

做符合时代的创新与创造 七牛发布七大行业解决方案

这是一场拉锯战,也是一场技术马拉松,虽然日程从9点安排到晚10点,但是一路听下来却没有一点走神.一家年轻的创业公司做用户大会这在很多创业企业的是很难想象的,在9月的一个周末七牛云存储举办的D-Future大会就这样召开了. 七牛有几位技术大咖,七牛CEO许式伟就是其中的领头者.他也认为,七牛遇到了好时代给予的机遇,互联网是一个让实体经济从阵痛中走出一剂良方,但计算机和互联网的分析认知能力还有待加强,这突出体现在非结构化数据的处理上.所以,从二次分析和用户行为记录的角度来看,我们面前就一座远未充分