构建前端安全⽣产体系,需要三项关键能力
极客时间编辑部
讲述:初明明大小:4.59M时长:05:01
来源:前端之巅
“前端安全生产”这一概念是阿里巴巴首次提出的,其目的是保障前端研发全链路的⾼质量交付,保障线上业务运行稳定,将损失降到最低。那么,如何构建一个前端安全生产体系呢?最近,阿里巴巴高级前端技术专家戊子(荣先乾)在接受 InfoQ 记者冉叶兰采访时,分享了阿里巴巴的前端安全生产体系建设的几个阶段及构建前端安全生产体系的三个关键能力。
阿里的前端安全⽣产体系现状
据戊子描述,目前,阿里巴巴整个前端安全⽣产体系的建设⼤致分为三个阶段,⽽直到第三个阶段,才是真正完成了整个体系的 1.0 建设。这三个阶段分别是:单点安全⽣产保障、多烟囱独⽴安全⽣产保障、体系化的前端安全⽣产保障。
单点安全⽣产保障阶段:线上前端监控
2015 年 8 ⽉,阿里启动了前端监控系统 Retcode 的建设,通过线上实时监控⻚⾯访问速度、JS Error、API 成功率核⼼的三板斧能⼒,为前端应⽤的运⾏态稳定性保驾护航。2016 年底, Retcode 成⻓为阿⾥集团内部使⽤最⼴泛的前端监控产品。这个阶段的核⼼还是依靠线上前端监控的单点能⼒去保障前端的安全⽣产。为了持续修炼前端监控产品的核⼼能⼒,计划将 Retcode 上云,进⼊前端安全⽣产建设的第⼆个阶段。
多烟囱独⽴安全⽣产保障阶段:云化前端监控 + 其他保障
2017 年 9 ⽉,Retcode 升级为阿⾥云 ARMS 前端监控,开启全⽹公测。在直⾯⾏业竞争对⼿的同时,Retcode 的多项核⼼能⼒得到了极⼤提升。这其中包括⾯向全球化业务的国际极致性能、JS Error 出错时⽤户⾏为回溯、API 接⼝快照以及打通前后端的全链路追踪等等。前端监控平台也经历了从“错误数据展示”到“专家级问题诊断”的升级,整个平台每天处理的⽇志条数也超过了百亿级别。
这个阶段内,除了前端监控平台在阿⾥云上的产品能⼒升级助⼒前端安全⽣产,戊子团队也借助⼀系列其他的能⼒来保障前端安全⽣产,如静态代码扫描、TDD、UI ⾃动化回归等。保障前端安全⽣产的单点能⼒越来越多,但⼤多是独⽴烟囱服务模式,各个保障流程节点之间并未完全打通。
在阿⾥集团内部,也缺乏⼀套集团层⾯体系化的前端灰度发布流程,表现在前端发布与后端上线存在流程割裂、后端灰度发布时前端⽆感、整个应⽤灰度阶段⼤多是⼈⾁前端验证或者验证缺失。
体系化的前端安全⽣产保障阶段:前端安全⽣产从 0 到 1
为了解决前端安全⽣产各个保障节点的孤岛问题,同时结合集团后端正在⼤⼒推进安全⽣产的时机,前端安全⽣产的体系化建设也应运⽽⽣。此时的前端安全⽣产体系刚刚完成从 0 到 1 的迭代,正在电商核⼼的基础交易链路、⼤促稳定性保障、业务稳定性基线⽇常治理等项⽬中落地。
如何构建⼀个前端安全⽣产体系?
据戊子介绍,构建⼀个完整的前端安全⽣产体系需要以下三项核⼼能⼒。
第一,变更发⽣前 CI 卡⼝能⼒。
静态代码扫描、⾃定义⼯程规范校验、单元测试通过率和覆盖率均是通过插件能⼒安装到 CI 卡⼝上。这里可以根据实际业务场景下的痛点问题扩展更多的插件能⼒,在前端同学每次提交代码后都能及时给予反馈, ⽽不⽤将问题拖到测试或预发甚⾄是线上环境。
第二,变更过程中的灰度卡⼝能⼒。
UI 回归测试、前端迭代变更⻛险评估、灰度监控报告也是作为插件能⼒安装到灰度发布卡⼝上。这也可以根据实际业务场景下的痛点扩展更多的插件能⼒,在前端同学每次版本发布前都能及时给予反馈,遇到异常问题时直接中断发布过程。
第三,变更完成后的线上实时监控能⼒。
⼀个强⼤的监控系统能做到 1 分钟发现问题、5 分钟定位问题根因,为快速回滚提供决策依据。在变更发⽣前 CI 卡⼝能⼒和变更过程中的灰度卡⼝能⼒全部都失效后,线上监控就成为了最后⼀道防线,能够有效遏制故障范围进⼀步扩⼤,降低损失。
除了上⾯提到的技术⼿段,安全⽣产的⾏为准则和⽂化同样必不可少,如制定变更红线规约、安全⽣产专题分享等等。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小斧如何构建⼀个前端安全⽣产体系? 第一,变更发⽣前 CI 卡⼝能⼒。 第二,变更过程中的灰度卡⼝能⼒。 第三,变更完成后的线上实时监控能⼒。1
收起评论