规避三方工具带给产品的潜在风险
风险与需求
我们通常会引入三方平台工具或插件,帮助自身产品提供更好的客户体验,比如数据分析工具、用户引导、客户成功工具等。为此,通常需要把三方工具 SDK 集成到项目中,但这类 SDK 会对网站应用做 DOM 操作,存在使产品无法正常运行的风险,如:
- 某些用户的浏览器环境下,三方 SDK 使产品不能正常运行
- 三方平台进行了错误的更新,导致产品部分功能瘫痪
- 海外的三方插件,网络不稳定或有法律风险
一旦发生风险可能会造成不可避免的经济损失。
解决方案
通过敏捷开关(featureflag.co)提供的 Feature flag 在生产环境渐进式发布与回滚三方工具的功能特性。如下图所示,当 Feature flag 返回值为 true 时,则执行三方工具初始化代码,否则不执行(假设三方工具不被初始化,就不会被执行)。暂时无法在飞书文档外展示此内容
代码集成
如下为码示例。在第二行代码中,使用敏捷开关的 SDK 获取 Feature flag "三方插件工具"的返回值,如果为 true,则初始化三方工具,否则什么都不做。
if (ffcService.flags['三方插件工具'] === true) { thirdTool.init('{key}', { id: auth.id });
}
渐进式发布
为了避免风险,我们采用如下的发布机制:
- 第一步,上线后不对任何用户开放
- 第二步,在生产环境对内测团队开放
- 第三步,发布给10%的公众用户
- 第四步,发布给30%的公众用户
- 第五步,发布给100%的公众用户
第一步,在集成了三方插件工具的新版产品上线时,在敏捷开关后台设置 Feature flag "三方插件工具"返回值为 false,使产品不对任何用户开放。
第二步,在 Feature flag 的"自定义规则"中引入内部测试团队,即三方工具只对内测人员开放。如下图所示,在"目标用户"和"自定义规则"区域,分别设置 Feature flag 对内测成员返回 true :
- 在"目标用户"模块的 true 返回值下添加会参与内测的目标用户。
- 在"自定义规则"模块中,建立一个对“开发组”和“内测团队”用户组返回 true 的规则。
第三步,如果在内测过程中出现问题,则可以反馈给第三方团队等他们的 BUG 修复。如果三方工具在内测环节表现良好,则可以开始向公众用户进行渐进式发布。如下图所示,将默认返回值按百分比设置,给 10% 的用户返回 true, 90% 的用户返回 false。
如果有 BUG 出现则可以将返回值设置为 100% false,0% true 的方式实现秒级回滚。如果可以精准的知道是哪些用户有BUG,则可以通过"自定义规则"针对具体用户进行回滚。第四步,如果第三步没有任何异常,则可以扩大用户的发布百分比,将默认返回值百分比设置为 30% 的用户返回 true, 70% 的用户返回 false。如果出现 BUG,可以按照第三步所描述的方式进行回滚。第五步,如果第四步没有任何异常,则可以扩大用户的发布百分比,将默认返回值百分比设置为 100% 的用户返回 true, 0% 的用户返回 false。如果出现 BUG,可以按照第三步所描述的方式进行回滚。
总结
通过使用 Feature flag 控制三方工具,大幅度降低了其发布上线的风险。即使在未来的使用中因为三方工具的更新产生了BUG,我们也可以通过敏捷开关的后台快速的回滚下线三方工具,保障产品的整体稳定性,降低风险。同样,这种操作可以适用于大多数新功能发布、功能更新的场景。
规避三方工具带给产品的潜在风险相关推荐
- visio studio json工具_《产品经理入门指南》彩蛋2:别技淫原型图!你的Visio和Balsamiq Mockup入门了吗?...
温馨提示: 如果你有关于产品经理方面的任何问题,欢迎关注我的微信公众号与我互动.最新的免费系统的产品经理课程<老司机带你做产品>已经推出,请关注微信公众号:iamliuwenzhi 很多产 ...
- CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧
CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念).早期/中期/近期应用领域(偏具体应用).经典CNN架构(偏具体算法)概述.常用工具/库/框架/产品.环境安装.常用数据集.编程技巧 ...
- 【问题解决方案】电脑使用微信等第三方工具给鼠标右键和下拉列表截图
参考链接: 电脑截图方法:给鼠标右键和下拉列表截图 问题: 当使用微信等第三方工具给鼠标右键和下拉列表截图时,一按快捷键组合往往右键和下拉列表就没有了. 解决: 方法一:使用电脑自带的截全屏功能,按下 ...
- UltraEdit_chinese_64.exe强大的记事本工具(带官网离线安装包和破解工具)破解教程
提供 UltraEdit_chinese_64.exe软件的破解教程,以及相关资源下载. 文章目录 本博文的简述or解决问题? 下载安装包: 说明: 下载工具推荐: 安装步骤: 破解激活: 破解成 ...
- 创见内存卡修复工具带数据恢复RecoveRx Tool v2.0
RecoveRx Tool可以格式化修复手机内存卡.给内存卡加密.移除密码以及擦除SF/CF卡. 除了修复外,它还是创见(Transcend)专用的记忆棒.SD/XD/MMC内存卡.U盘.数码相框.M ...
- 2023最新站长必备在线工具箱系统源码 含上百款工具 带后台版本 自适应模板 优化修复版
简介: 2023最新站长必备在线工具箱系统源码 含上百款工具 带后台版本 自适应模板 优化修复版 刀客搭建看了一下,系统一切正常可用,就是后台登录方式这一块使用的是QQ扫码登录的,建议有能力的可以改一 ...
- LabVIEW视觉尺寸测量 范例包含尺寸测量和数据库工具带三菱plc通讯
LabVIEW视觉尺寸测量 范例包含尺寸测量和数据库工具带三菱plc通讯. 包含一份软件调试说明书及调试操作视频! 现有:69100614186286191苏州工控代理商
- 计算机辅助设计主要设计工具,常用工具计算机辅助设计Ⅱ--产品外观设计.ppt
常用工具计算机辅助设计Ⅱ--产品外观设计 计算机辅助设计Ⅱ--产品外观设计 建立圆角曲线(倒角)(Fillet Curve) ?菜单 : Curve 〉 Fillet 命令 : Fillet 说明 : ...
- 便民查询工具php源码,超强全能查询工具带后台功能强大PHP版 查询源码下载
PHP版全能查询工具带后台功能强大,程序运行环境必须同时支持PHP+ASP,由于后台和部分功能由ASP程序开发,否则无法运行.程序演示:cha.wa86.com (目标网站仅供参考) 使用说明: 程序 ...
最新文章
- cnn中关于平均池化和最大池化的理解
- vs调试c语言检查内存泄露,VisualStudio中检查内存泄露方法
- leetcode101. 对称二叉树(两种做法)
- java apk安装路径_android apk安装过程源码解析
- iqooneo系统要不要更新_IQOOZ1即将发布,和IQOOneo3、OPPORenoACE对比,谁更值得入手?...
- 线段树基础操作--单点or区间更新+查询
- 云服务器上搭建hadoop伪分布式环境
- DevExpress DXperience最新版订阅加载程序
- 2019年末逆向复习系列之从猫眼字体反爬分析谈谈字体反爬的前世今生
- LoRaWAN协议格式
- 计算机小喇叭找不到,电脑右下角小喇叭不见了(解决方案)
- 1 进 2 出 HDMI 1.4 分配器,带 HDCP 引擎、抖动清除和信号中继
- SEPIC 单端初级电感转换器 稳压器 -- Zeta 转换器
- 蚂蚁金服区块链+公益又有新动作,助力相互保险爱心救助账户
- android 判断安装微信,Android开发中判断手机是否安装了QQ或者微信
- ChromeDriver与Chrome版本对应关系及下载链接
- 单片机编程入门学习 这几问你能回答吗?
- [再寄小读者之数学篇](2015-05-01 求渐近线)
- ASP.NET各种项目源码
- Dialog确认框重复提交的问题