用混沌工程做“在线验证”
5月16日,2023全国首站华为云城市峰会在广州举办。此次峰会以“数智深耕让美好发生”为主题,会上华为云SRE部运维使能中心总监林华鼎发表《通过混沌工程完成“在线验收”》主题演讲,与现场嘉宾分享企业在数字化转型中混沌工程的思考与实践。
运维变革是数字化转型的助推器
在政府/企业IT业务深度数字化的过程中,业务的可用性压力骤然提升,稳定可靠是最基本的“生命线”,运维人时刻保持着“战战兢兢、如履薄冰”的心态。数字化转型中,软硬件迭代加速,数字化业务从“慢”节奏向“快”节奏转型,运维既要保“稳”,又要能“快”,传统IT的运维工作模式已无法满足,这也就意味着运维模式变革势在必行。
华为云SRE部运维使能中心总监林华鼎分享主题演讲
华为云过去几年的高速发展,业务量上千倍的增长,经历了上述“慢”向“快”的转变,推动着运维作出变革。华为云总结出了“确定性运维”能力体系,正是运维变革的一个样例。这个变革完成了运维团队从“消防员”向“建构师”的转型,通过“确定性”的各项能力,支撑业务团队既“快”又“稳”地发展业务,这是一个将运维团队从成本部门转化为生产力部门的实践,让运维变革成为数字化转型的加速器。
确定性恢复是运维领域高可用工作的核心工作之一
基于故障场景做到确定性的恢复能力(足够短的MTTR)是运维的核心工作之一。企业通过混沌工程,可以提前模拟可能出现的故障,进而综合验证服务在不同故障场景下的容错能力、监控能力、人员响应能力、恢复能力等可靠性能力。通过不断的实施混沌工程,驱动产品可靠性提升。
高可用能力不仅需要上线前的设计与部署,更需要运行期的“在线验证”
混沌工程是做“在线验证”检验可用性设计的最佳方式。华为云SRE为了提升系统的可靠性,主要从主动预防和被动响应两个方向开展工作,其中主动预防占据了80%以上的时间。经过多年实践,华为云SRE发现混沌工程是非常有效的主动预防手段,实际上混沌工程在很多互联网或云计算等IT技术前沿的公司已经大规模开展。在华为云,混沌工程已经和开发测试一样,成为SRE工程师的日常工作。
业务成功的基础是有一个常态化的组织和“蓝军文化”
蓝军负责整体能力建设,包括对故障模式的梳理、故障注入能力的建设以及工具平台的建设和赋能。华为云设置专门的蓝军团队负责混沌工程业务,通过独立的组织保障混沌工程业务能持续发展;同时在绩效、任职资格上对设置混沌工程相关门槛,牵引SRE主动开展混沌工程业务。因此,要实施开展混沌工程业务,除了战略重视,在组织上,绩效设计上齐头并进,才能构建良好的混沌工程发展土壤。
蓝军文化是主动构建可用性能力,事前发现风险的文化。被动运维转为“主动”运维,给业务被动救火转为给业务可用性“挑刺”,依靠故障事后驱动转为“事前”发现风险。设置混沌工程KPI,关联职业发展,构建工具提高效率,遵循的主要原则如下:鼓励发现问题不惩罚,混沌工程是日常工作,参与演练同样可以晋升加分。
故障场景分析是重中之重,“在线验证”要注意控制“爆炸半径”
故障场景分析比故障注入更重要,通过故障场景分析来熟悉业务。故障场景分析建议深入理解业务功能、深入理解客户体验、深入理解技术架构、深入理解故障场景。混沌工程与以往演练最大的区别是注入真实故障。坚持真实的故障,只有真实故障才能发现真正的风险。
“在线验证”要注意控制爆炸半径。混沌工程与以往演练最大的区别是注入真实故障,只有真实的故障才能发现真正的风险,控制混沌工程实施窗口期,尽量选择可回退的故障注入方法,回退时间可控,先测试,后攻防,再突袭逐步实施。
“在线验收”的本质是通过“演练”驱动“风险分析”、“风险控制”
混沌工程演练的一般步骤为:第一步识别故障模式,第二步演练风险分析,第三步风险控制,第四步故障注入,第五步监控与应急恢复,第六步复盘改进,目的就是通过“演练”驱动“风险分析”、“风险控制”等。
华为云不仅做云平台云服务的演练,也支持云上客户做“在线演练”
华为云支持全栈专属客户做“在线演练”,逐步递进式演练,验证业务跨AZ容灾能力。不管是单机柜故障,还是多机柜级故障,或者指定AZ故障,甚至随机AZ故障都可进行演练。故障发生后,XX应用数据面是否平稳运行,管理面是否是否调度正常,从这些观测点更好进行演练落地和分析。
华为云同样支持公有云客户做“在线演练”,从应用部署架构、云服务容量、监控告警、应用高可用&站点高可用维度,多维度进行在线演练。不管是ELB集群间切换,还是DNS单点故障,或者单Region故障,甚至主站快速扩容等场景可进行演练。
自动化平台是提升效率的关键
混沌工程工具由四大部分组成,首先是运营类,可以进行年度规划、演练指挥、复盘、Dashboard等功能;其次是可支撑故障场景和故障注入脚本自定义;然后还包括风险管理、变更管理等审计合规类能力;最后就是CDMB、报表等场景编排和自动化的能力。
混沌工程运营模块主要围绕红蓝攻防的活动运营和演练记录,进行多维度的数据分析,为业务提供决策依据;故障场景与故障注入模块是一个客户端,可以提供丰富的故障场景,可对网络设备、物理机、虚拟机、容器、操作系统、协议、中间件、数据库、应用及语言等多个层面实施故障注入;审计合规模块同时打通内部变更系统和事件系统,并根据ISO 27001设计合规的演练报告,使得混沌测试整个流程完全线上化,而且符合认证和审计规范;场景编排和自动化模块结合CMDB,通过运维管道可实施自动化的故障注入;故障模式库举例(用工具做好年度故障演练规划)。
华为云持续在运维领域开展变革以支撑业务高速增长,当前华为云持续深耕智能化,构建高度确定性运维能力。华为云非常重视混沌工程在可靠性中的作用,沉淀出FMEA和五维故障分析法,可以有效帮助客户业务厘清实施目标,结合红蓝对抗、生产突袭等具体动作驱动混沌工程落地,同时建设了功能丰富的平台,为企业混沌工程的有效开展提供便利的平台服务。
- 点赞
- 收藏
- 关注作者
评论(0)