《4-徐旋-Feature Toggles (特性切换)和Unleash的应用案例分享.pdf》由会员分享,可在线阅读,更多相关《4-徐旋-Feature Toggles (特性切换)和Unleash的应用案例分享.pdf(49页珍藏版)》请在三个皮匠报告上搜索。
1、Feature Toggles(特性切换)和Unleash的应用案例分享徐旋瑞典金融科技公司 高级研发经理徐 旋20年软件测试与开发经验,14年管理经验;先后在通信,金融科技,流媒体等领域工作中国和海外工作,跨国跨文化团队领导经验;2020 QECON讲师瑞典金融科技公司高级研发经理,目前管理三个研发团队1432685https:/ 工程效能部门介绍及挑战02 Feature Toggles(特性切换)03 Unleash 应用案例,经验分享04 总结总结05 01瑞典金融科技行业简介瑞典科技独角兽及金融科技人口1000万人均GDP$61028(2021全球第16)独角兽融资金额欧洲第4 人均
2、独角兽数量全球第1 专注领域:金融科技,游戏娱乐02工程效能部门及挑战工程效能(Engineering Productivity)部门Vision 愿景愿景Mission 使命使命让工程师能够以快速的节奏迭代开发并交付高质量的产品。为工程师提供一流的工具、流程和服务,以简化其软件开发过程,使其能够专注于编写代码和创造价值。BuildReleaseDeploy可靠安全快速01降低风险02提升客户体验03增强团队信心04生产环境测试近期目标 减少因运维导致的宕机事件使我们能够最小化问题代码的影响范围和波及面。提升我们的平台客户的体验。由于没有专门的测试团队,这也会让我们的研发团队更有信心安全地发布
3、代码。帮助进行测试-因为某些功能在本地进行测试非常困难。03Feature Toggles(特性切换)VS.Decoupling deploymentfrom release!将部署与发布脱钩!Martin Fowler/2010什么是Feature Toggles/特性切换?什么是Feature Toggles/特性切换?一个最简单直接的例子(代码端)整体策略允许在运行时通过某种形式的管理界面修改切换配置。使用该管理界面在测试环境中启用新功能。教会切换路由器如何做出动态的、每个请求的切换决策。这些决策会考虑到切换上下文,例如查找特定的 Cookie 或 HTTP 标头。通常,切换上下文用作识
4、别发出请求的用户的代理。让切换路由器基于切换配置做出决策,并将该配置与环境相关联。只在预生产环境中启用新功能。场景1 实验性测试场景2 数据迁移场景3-Canary Launch/灰度发布如何来选择主流的特性切换工具PostHogFlagsmithUnleashLaunchdarklyAmazon Cloudwatch Evidently+AWS AppConfig评估考虑因素:主要功能是否齐全,流行度,社区活跃,价格,可用性,安全04Unleash 应用案例,经验Unleash架构Unleash 的几个关键配置1 Activation strategies/激活策略3 项目管理4 环境参数2
5、 切换类型StrategyEnvironmentProjectToggletype1 Activation Strategy/激活策略1.Standard 2.UserIDs3.Gradual Rollout 4.IPs 5.Hostnames 也可以自定义策略,例如指定区域,指定特定的市场,等等。1 Activation Strategy/激活策略-入口1 Activation Strategy/激活策略-多个策略1 Activation Strategy/激活策略-自定义策略Schedule Feature Releases/定时发布 1场景?1.新产品发布2.比赛截止时间3.24小时限时
6、抢购Schedule Feature Releases/定时发布 22 Toggle Types/切换类型切换类型,主要用于区分个体特性切换的生命周期。1.Release-发布 40天2.Experiment-实验 40天3.Operational-运维 7天4.Kill switch-紧急停止开关 永久5.Permission-权限 永久2 Toggle Types/切换类型2 Archive Toggles/移除特性切换1.Console界面移除2.API移除,可以代码3&4 Projects&Envs/项目和环境 13&4 Projects&Env