“安全生产”是业界新兴起的一种概念,来源于传统行业,加强安全生产就是为了防止和减少生产安全事故 ,保障人民群众生命和财产安全,促进经济社会持续健康发展。
随着互联网发展,数字经济在经济总量中占比超 30%,在以 IT 系统为主要支撑的新兴互联网企业中,各类系统故障虽不会造成人员伤害,但给企业带来的损失却不容小觑,除了直接的经济损失还会造成用户的大量流失,严重损害企业形象。
正因如此,数字化业务也需要“安全生产”,构建完善的安全生产体系能帮助企业解决当前的痛点问题:
1.互联网企业系统安全生产基础建设薄弱;
2.技术人员缺乏体系与规范的指引;
3.安全生产监督薄弱,无法落实到位;
本期【大咖对谈】我们邀请到了互联网企业的行业代表、TakinTalks 社区的三位讲师——B 站直播 B&C 端架构组 leader 吕帆、唯品会中间件技术专家陈俊峰、数列科技联合创始人杨德华 ,就活动保障效率、混沌工程、人员规范管理、安全生产等方向做了深入探讨,以下为对谈精彩片段,希望能对你有所启发——
(文末附查看完整版回放视频方式)
B 站吕帆
活动保障中压测是投入人力最多的,当时应该有二三十人一起去做这个事情,其中比较麻烦的事情就是链路梳理这一块,当时压测链路梳理花了 3 周时间,不过 B 站的压测场景不会变动很大,另外新发布的功能,比如说我们最近做的虚拟主播这一块儿的东西它流量并不是特别高对稳定性也不会有大影响,所以梳理一次核心压测场景和脚本后续可以复用,这样就能为后续的活动保障降本增效。
在提升效率方面的话,其实还有一个非常重要的点,当你把一些准备工作做到极致的时候就会省很多事情,比如说我们有几个场景是需要一起压测的,单独压测的结果是无效的,那准备充足就不会发生这样的事情。
数列杨德华
数列科技帮助了很多企业比如顺丰、中国移动、中国人寿等企业在生产环境做全链路压测,他们也会特别关注保障效率和成本的问题,像是链路梳理这块比较占用人工和时间的工作也是重点提效的部分。某些企业由于业务变更频繁、依赖也时常变化,数列科技开源产品 Takin 也是依据用户需求完善了链路自动梳理的功能,可以帮助企业在链路梳理上减少时间花费,有效提效 50%以上。
唯品会陈俊峰
确实每次大型活动的保障要花费很多的时间跟人力,我们最近也有在做优化方向的事情,有业务层面和技术层面的动作。
像业务层面就是更新了活动玩法,进行促销日常化,不会把大促的流量全部引到集中的时间点,例如双十一不会只是当天晚上开售,而是从 11 月 1 日就开始了,让流量均摊一些,那么保障压力也会减轻。
技术层面的话就会涉及到底层组件的产品化成熟问题,我们目前是已经有了压测平台,集成了几种压测方式。像之前压测各个团队都是各自在自己的压测环境中进行,包括录制流量回放也是各自完成的,现在这块做了整合,把标准化的流程做到产品里,这样也对人效的提高有很大的帮助。
B 站吕帆
保障工作的核心还是在于人,线上系统异常是没有办法避免的,那我们除了要锻炼系统的稳定性,还应该锻炼参与保障的人,让他们能够临危不乱,冷静及时地处理问题。混沌工程的重要环节就是故障演练,也是锻炼人和系统的主要手段。目前 B 站的演练并不是线上演练,而是在演练环境进行,因为线上演练容易产生脏数据污染生产环境,所以我们采用复制流量+复制环境的方法,未来我们也将继续精进。
数列杨德华
混沌工程目的是提前发现和解决问题,保障系统稳定和用户体验提升。系统稳定是我们追求的结果指标,混沌工程是我们可以提升过程类指标的一个新的有效做法。数列科技的很多客户,也在这方面有所实践,他们多数也是以故障演练作为切入点。而故障演练在理想情况下的流程应该是:例行化故障演练、找出系统风险点、优化业务系统、产出可行有效的故障处理预案。
唯品会陈俊峰
混沌工程还是很有用的,化被动为主动,让故障提前发生,来看系统的表现,也能提前准备预案去应对。目前我们有搭建隔离环境去做混沌工程的事情,也有相关的产品雏形,只是目前还没有落地到生产环境。毕竟要在生产落地混沌工程还是需要一定勇气的,除了要对系统有很大的把握,还得自上而下地去推动这个事情才能真正地落地。
数列杨德华
我们中国有句老话叫无规则不成方圆。同时瑞达利欧也专门写了一本书叫《原则》。在一定程度上来说,规范等同于原则,也就是说话、行事所依据的准则。规范其实就是一种管理手段,即使是针对系统制定的规范其实主要针对的还是人。在制定规范的初期就应该明确规范制定的目的以及具体的应用范围,这样才能更有针对性。
我这边也有一个想法,是不是可以参考“故障演练”去主动注入一些违反规范的事情,看看负责人员能否发现,以此获取快速的反馈,未来可能这块也能尝试。
B 站吕帆
关于规范怎么落实,做所有的事情都会讲究 ROI,不必强制要求所有服务符合规范,主要要求核心业务符合相关规范。另外我们会通过一些特定的工具进行 review,平时的宣导、培训也会有意识地去加强大家的规范意识,针对核心业务我们还会有处罚机制,触犯相关规范就会触发处罚,对应人员是需要负责任的。
唯品会陈俊峰
规范和流程的制定我们多数是根据经验来的,从过往的 badcase 和 goodcase 中总结出来,这样也会更符合实际的应用场景,对于落地的阻力也会减轻。至于规范的实际落地,我们往往会结合着平台工具来实现,更标准也方便检验回顾与更新迭代。
数列杨德华
数字化业务方面的安全生产区别于传统行业,跟用户体验、业务的正常运行是紧密相关的。目前一些企业应用涉及国计民生、基础设施的业务,从故障原因的注入、故障发生到故障发现再到技术人员上线,什么时候能定位,什么时候能恢复,都会有精细化的一些指标。提前制定好目标,围绕目标去进行演练或者通过真实的故障去 review 这些时间点,先看表面问题再找根因。相信未来这些内容会慢慢形成一套通用的标准。
安全生产,最终目标是 0 重大故障,当然很多企业每个月都会出现重大故障,所以大部分企业在落地的时候,会以降低重大故障数量作为阶段性目标,进而追求 0 重大故障。为了最终达成 0 重大故障,需要去度量整个研发流程的风险情况,进而去做到提前解决。
唯品会陈俊峰
安全生产目前对我们一线技术来说的话就是避免系统故障,很多重大故障的起因就是一些小变更,由于变更人员的忽视,小问题慢慢变成大问题最后导致生产大故障,所以人员的约束、变更监控这些都是很重要的事情。唯品会接下来也会在混沌工程常态化、容量规划自动化、单元化等地方发力。
B 站吕帆
关于安全生产我们主要是围绕“一五十”的概念去展开的,也就是 1 分钟发现 5 分钟定位 10 分钟解决,但我们没有全部强制要求和度量。S11 的时候大家都坐在一起,那处理速度就会更快,但平时或者非核心业务要做到“一五十”,要求就有些高了。当然“一五十”“多活”“多机房部署”等等也是我们未来要持续发展的方向。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。