关于灰度发布,你得知道这些......
  67AI9FCOWnAz 2023年11月02日 53 0

在互联网公司中,产品通常会更频繁地迭代,特别是当涉及一些关键且较大的项目需求时,影响范围相对较高时,通常需要灰度控制。

一般来说,Web前端灰度是平滑的在客户不知不觉的情况下进行的,而APP灰度需要涉及用户的主动安装行为。

什么是灰度发布?

灰度发布(Gray Release)是一种逐步推广新版本应用程序的策略,即将新版本应用程序仅仅推广给一部分用户,观察新版本在小范围内的使用情况、反馈及其稳定性,再根据反馈结果逐步扩大发布范围,直到全量发布的过程。

使用灰度发布的场景有哪些?

1、应用程序开发 在应用程序的开发过程中,使用灰度发布技术可以在应用程序上线前,通过少量用户的试用来检验应用程序的功能,性能和用户体验等方面是否有问题,从而改进应用程序。

2、新功能上线 在新功能上线时,使用灰度发布技术可以先将新功能推广给少量用户,以获得新功能的使用情况、反馈及其稳定性,从而决定是否需要调整新功能,或者确定推广新功能的策略。

3、其他场景 使用灰度发布技术还可以在应用程序中更新广告,收集统计数据,测试不同的用户界面设计等等。

在App开发时或者新功能上线时采用灰度发布有哪些优势?

1、提高应用程序的质量和稳定性 使用灰度发布技术可以先将应用程序推广给少量用户,以获得应用程序的使用情况、反馈及其稳定性,从而改进应用程序,提高应用程序的质量和稳定性。

2、减少发布风险 使用灰度发布技术可以先将应用程序推广给少量用户,以获得应用程序的使用情况、反馈及其稳定性,从而降低发布风险。

3、减少推广成本 使用灰度发布技术可以先将应用程序推广给少量用户,以获得应用程序的使用情况、反馈及其稳定性,从而确定推广应用程序的策略,减少推广成本。

灰度发布对App用户的影响

灰度发布对App用户的影响通常不会过大,因为只有一部分用户能够体验到新功能,对于未被选择的用户,他们不会察觉到任何变化。此外,如果新功能存在问题,灰度发布的一小部分用户可以帮助开发团队及时发现问题并进行修复,从而避免对整个用户群体造成不必要的影响。

然而,如果灰度发布存在问题或配置不当,会给用户带来负面影响,如:

在灰度发布期间,可能会导致部分用户无法使用应用,或者出现应用崩溃等问题,因此,在执行灰度发布时需要特别小心,仔细测试所有可能出现的情况,并及时回滚到上一个版本。

对于参与灰度发布的用户,由于他们能够提前体验到新功能,因此可能会产生一些期望,如果最终新功能没有达到期望,会引起用户不满。因此,在进行灰度发布时,需要确保新功能的质量和体验,避免用户对新功能的负面评价。

小程序也可以利用灰度发布来进行测试和验证新功能。

在小程序中实现灰度发布的方式有很多种,下面介绍两种常见的方式。

1、利用环境变量实现灰度发布 小程序开发者可以在小程序代码中引入环境变量,根据不同的环境变量值来判断是灰度发布还是正式发布。通过将环境变量设置为不同的值,就可以控制新功能的上线范围。

例如,我们可以定义一个名为 env 的环境变量,在正式环境中将其设置为 prod,在灰度环境中将其设置为 gray,在开发环境中将其设置为 dev。然后,在代码中就可以通过判断 env 的值来控制新功能的上线范围。

这种方式的优点是灵活方便,可以自由控制新功能的上线范围。但缺点是需要手动设置环境变量,比较繁琐,而且容易出错。

2、利用微信后台实现灰度发布 小程序开发者还可以利用微信后台提供的灰度发布功能来进行测试和验证新功能。微信后台提供了一个叫做“体验版”的功能,开发者可以将新功能发布到体验版中,然后通过微信后台控制体验版的上线范围,实现灰度发布的效果。

这种方式的优点是方便易用,可以通过微信后台进行灰度发布控制,不需要手动设置环境变量。但缺点是需要额外的配置和操作,而且对于一些高级功能可能不支持。

3、利用 FinClip 管理后台实现小程序灰度发布

FinClip 是 一个可以让任何 App 都能具备小程序运行能力的前端容器技术,只需简单集成 FinClip SDK ,即可在 iPhone、Android、Windows、Linux、macOS、统信等平台下的应用中运行你的小程序。

同时,它还提供一个完善的后台管理系统,可统一管理小程序的上架和下架,以及小程序的灰度发布、并且具备数据分析能力,不管对于开发人员还是运营人员,可谓是极其便捷了。

那为什么小程序利于灰度发布?因为小程序具备“松散耦合”的特性:

  • (1)自身的迭代升级,也不会影响到宿主 App 运行的稳定性,也无需对 App 进行全回归测试。
  • (2)小程序业务功能开发可以高度并行
  • (3)容易灰度发布 – 粒度细到碎片级(例如一个小程序是可以仅在测试白名单的范围内试点)。

通过FinClip 管理后台,任何小程序都可根据用户画像、客群分层,动态控制可见范围,而且无需编写任何复杂的应用逻辑代码。

此外,FinClip SDK 可自动上报相关数据,实现测试发布完整闭环,无需对每一个小程序都进行业务埋点开发,并且针对需要复杂业务数据回传的小程序而言,由于 FinClip SDK 有规范的数据上报协议,因此只需完成少量开发,即可实现最准确的数据上报回传。

总的来说,小程序开发者可以根据自己的需求选择适合自己的灰度发布方式。无论哪种方式,都需要注意灰度发布的上线范围和时间,以免影响正式用户的体验。

灰度发布在企业中的应用

灰度发布在企业中应用广泛,特别是在互联网公司中,如腾讯、阿里巴巴等公司,他们都将灰度发布作为常规工具使用。在企业中,灰度发布通常用于以下场景:

新产品或功能上线前的测试:企业可以通过灰度发布在部分用户中测试新产品或功能,以确保它们能够正常运行并满足用户需求。 产品版本更新:在产品版本更新时,企业可以采用灰度发布的方式,先让一小部分用户升级到新版本,以确保新版本不会影响整个用户群体,避免不必要的风险。

新技术上线:当企业引入新技术时,如人工智能、区块链等,可以通过灰度发布的方式在一部分用户中测试新技术,以确保它们能够正常运行并满足业务需求。

总之,灰度发布作为一种常见的部署方式,已经被广泛应用于互联网公司和其他企业中,它可以帮助企业降低风险,提高产品质量,同时保证用户体验。在使用灰度发布时,需要特别小心,仔细测试所有可能出现的情况,并及时回滚到上一个版本,以避免给用户带来负面影响。

如今的互联网时代,大厂都是采用灰度发布的策略进行应用线上部署的。如果身在小公司的测试同学想进入大厂,那么灰度发布就是大家必须要了解的知识点了!希望通过本文能够帮助大家快速的理解什么是灰度发布,并让大家了解研发,运维,测试,运营是如何在这一策略下开展实际工作的。



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论