`

运维:互联网产品的灰度发布模型

阅读更多

最近在Nginx玩了一把应用的灰度发布,备忘一下。以下为网摘

http://www.3ppt.com/Design/PM/17469.html

在传统软件产品发布过程中(例如微软的Windows7的发布过程中),一般都会经历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 。

分享到:
评论

相关推荐

    互联网海量运维服务

    2. **灰度发布**:采用灰度发布策略逐步推广新版本或新特性,可以有效减少因变更引起的不稳定因素。 3. **持续改进**:运维团队需要不断学习最新的技术和方法论,持续改进运维流程和技术栈,以适应不断变化的技术...

    大数据技术分享 大数据处理 互联网海量业务数据运维 共34页.pdf

    综上所述,大数据时代的互联网海量业务运维需要综合运用各种技术和策略,包括强大的数据处理平台、精细化的运维监控、智能的成本管理和灵活的发布策略,以确保在快速变化的环境中保持业务的稳定、高效和低成本运行。

    网易-产品开发流程说明.doc.pdf

    - **产品发布**:进行灰度发布,最终正式上线。 其次,规则方面有严格的规定: 1. **文档命名规范**:遵循特定的文档命名规则说明书。 2. **需求审核**:业务需求需经需求方审核,功能需求需通过业务、产品和技术...

    运维自动化,互金灾备建设的助推器.pdf

    运维自动化可以帮助企业应对各种挑战,例如减少系统中断时间(Reduce)、快速响应问题(Respond)、迅速恢复服务(Recover)、重启业务(Resume)以及长期重建(Restore),这些都是构建业务持续性管理的6R模型的...

    架构师之路2017半年精选40篇

    - 并发编程模型:使用异步非阻塞I/O模型提高系统响应速度。 5. **典型数据库架构设计与实践** - **数据库设计要点**: - 数据模型设计:合理规划数据库表结构,确保数据的一致性和完整性。 - 性能优化:包括SQL...

    大型互联网公司百人团队持续交付变革之路.pdf

    总的来说,大型互联网公司的持续交付变革是多方面的,涉及到研发模型、组织结构、工作流程和最佳实践等多个层面。通过敏捷转型和DevOps的实施,可以有效应对VUCA环境,提升团队效率,加速价值交付,最终实现业务的...

    大型互联网项目的持续交付模式.pptx

    总的来说,大型互联网项目的持续交付模式是一种涵盖开发、测试、运维全过程的系统化方法,旨在提高团队协作效率,缩短交付周期,提升产品质量,以适应互联网行业的快速变化。通过敏捷转型和DevOps的最佳实践,企业...

    互联网企业K8s容器化改造之路.docx

    【互联网企业K8s容器化改造...总的来说,K8s为互联网企业提供了一种高效、灵活的容器化改造解决方案,通过优化应用发布流程、集群调度、网络架构和监控机制,显著提升了开发运维效率和资源利用率,增强了企业的竞争力。

    藏经阁-手机京东Crash自动分析处理系统.pdf

    - **灰度监控系统**:在新版本发布前进行灰度测试,实时监控崩溃情况。 - **报表模块**:生成数据汇总分析报告,提供决策支持。 - **代码处理模块**:包括编译系统和代码管理系统,用于修复问题并提交代码。 - *...

    从大型电商架构演进看互联网高可用架构设计——内训方案.pdf

    - 优雅的灰度发布策略。 - 自动化测试和CI/CD流程。 #### 八、大型电商系统高可用服务质量如何保证? **监控篇** - 监控的维度多样化,覆盖应用、服务等多个层面。 - 实时监控和报警机制。 **云端日志系统** - ...

    腾讯微博架构的成长过程

    - **灰度发布**:采用分阶段、逐步推广的方式发布新版本,减小故障影响范围。 - **有损服务**:在极端情况下允许一定程度的服务降级,保障核心功能正常运行。 - **生命体模型**:将系统视为一个活的生命体,强调...

    PAAS平台基本概念 (2).pdf

    7. **应用管理**:管理应用版本、升级、灰度发布、回滚等,确保应用的可用性和弹性。 8. **监控与度量**:监控业务性能,建立性能和可用性模型,支持弹性伸缩和容量分析。 9. **运营支撑**:提供日志管理、安全...

    【容器与微服务】1.梁晨-微服务利器-解密TARS架构.pdf

    4. **总体架构**:TARS的架构设计考虑到了DEVOPS流程,从基础设施(物理机、虚拟机、容器)到代码管理、编译、自动化测试、灰度发布和持续部署,形成了一条端到端的工具链。 5. **服务治理组件**:TARS提供了服务...

    PAAS平台基本概念 (2).docx

    **服务应用管理**: 包括版本管理、升级、灰度发布、回滚、可用性和弹性伸缩管理。 **监控与度量**: 监控业务性能,建立性能和可用性度量模型,支持弹性伸缩和容量分析。 **运营支撑**: 提供日志、安全审计、权限...

    PaaS云平台建设和应用云化方案.pptx

    例如,通过灰度发布和回滚策略,可以在不中断服务的情况下进行系统升级,确保业务连续性。 总结来说,PaaS云平台的建设与应用云化是现代IT行业的重要趋势,它通过提供一套完整的开发、部署和运维解决方案,帮助企业...

    PAAS平台基本概念.docx

    11. **服务应用管理**: 包括版本管理、升级、灰度发布、回滚、可用性监控和弹性伸缩等,确保业务应用的稳定性和性能。 12. **监控与度量**: 监控业务运行性能,建立性能度量模型,支持弹性伸缩决策和容量规划。 13...

    《高扩展性网站的 50 条原则》

    41. **灰度发布**:逐步将新版本推送给用户,降低更新风险。 42. **A/B测试**:通过对比不同方案的效果,优化产品功能和服务质量。 43. **健康检查**:监控服务状态,自动剔除故障节点。 44. **资源调度优化**:...

Global site tag (gtag.js) - Google Analytics