1、懂人的混沌工程:助推生产系统稳定性落地主讲人:吾真本演讲嘉宾介绍吾真本 独立软件开发咨询师70后1993年,计算机应用专业大学毕业,企业IT部门一线团队,软件开发和咨询在国企、私企和外企,做过IT系统管理、Web应用开发、软件测试、项目管理和软件开发咨询2014至2022年,在Thoughtworks公司,软件开发技术教练,帮助几十家企业的IT部门,落地持续集成和自动化测试等敏捷软件工程实践2022年底离职,成为独立咨询师目前专注做懂人的软件开发、混沌工程、DDD的培训和咨询著驯服烂代码,译发布!第2版,合译混沌工程CONTENT目录2023K+01懂人与不懂的差异地基不稳,大厦将倾管理者以低
2、成本*获*新成效的新思路0203Part 01懂人与不懂的差异生产系统稳定性案例1:奈飞公司混沌猴和混沌金刚2008年,奈飞业务所依赖的AWS云服务实例会突然消失如何让增强系统韧性设计*持续进行持续进行*且在*全公司规模化全公司规模化*落地?2011年,工程师们想了各种方法,最后只有混沌猴胜出混沌猴是个自动化故障注入工具上班时间,生产环境每个集群,随机突然关闭一个实例2012年,业务所依赖的AWS云服务弹性负载均衡器不断停机2015年,生产环境模拟AWS区域大规模故障的混沌金刚诞生生产系统稳定性案例2:国内某金融公司故障注入实践2021年,公司运维部门发起混沌工程试点运维部门请外包公司开发故障
3、注入工具测试部门利用工具在测试环境基础设施层注入故障故障注入目标:虚拟机、容器、Pod、Node注入故障类型:资源、状态、网络可注入资源故障:CPU爆满、内存爆满、磁盘爆满、磁盘I/O繁忙可注入状态故障:关机、重启、杀进程、中止进程可注入网络故障:网络丢包、网络黑洞、网络延时、DNS无法访问考虑再三,故障注入实验一直没上生产环境未针对微服务层进行故障注入,导致开发部门参与度不高未注入资源故障:线程阻塞、同层连累、层叠失效未注入状态故障:所依赖的服务返回错误、所依赖的服务失效未注入网络故障:应用流量暴增、所依赖的服务延时、无限长结果集分析几年来严重生产事故,但未开展蓝军行动,也未设计相应故障注入
4、实验找找:懂人的混沌工程的点睛之笔在哪里?2008年,奈飞业务所依赖的AWS云服务实例会突然消失如何让增强系统韧性设计*持续进行持续进行*且在*全公司规模化全公司规模化*落地?2011年,工程师们想了各种方法,最后只有混沌猴胜出混沌猴是个自动化故障注入工具上班时间,生产环境每个集群,随机突然关闭一个实例2012年,业务所依赖的AWS云服务弹性负载均衡器不断停机2015年,生产环境模拟AWS区域大规模故障的混沌金刚诞生问答赠书懂人的混沌工程的点睛之笔在哪里?-规模化落地生产系统稳定性工程师们“视生产环境如神明视生产环境如神明”当混沌猴每天在生产环境注入故障后工程师们总会把手上其他的事情暂时放一放
5、优先关注、观测和解决混沌猴在生产环境所引发的故障奈飞公司顺应了人的“视生产环境如神明”的社会和心理特点成功地规模化提升了系统稳定性发展出混沌工程实践找找:不懂人的混沌工程最大的败笔在哪里?2021年,公司运维部门发起混沌工程试点运维部门请外包公司开发故障注入工具测试部门利用工具在测试环境基础设施层注入故障故障注入目标:虚拟机、容器、Pod、Node注入故障类型:资源、状态、网络可注入资源故障:CPU爆满、内存爆满、磁盘爆满、磁盘I/O繁忙可注入状态故障:关机、重启、杀进程、中止进程可注入网络故障:网络丢包、网络黑洞、网络延时、DNS无法访问考虑再三,故障注入实验一直没上生产环境未针对微服务层进
6、行故障注入,导致开发部门参与度不高未注入资源故障:线程阻塞、同层连累、层叠失效未注入状态故障:所依赖的服务返回错误、所依赖的服务失效未注入网络故障:应用流量暴增、所依赖的服务延时、无限长结果集分析几年来严重生产事故,但未开展蓝军行动,也未设计相应故障注入实验问答赠书不懂人的混沌工程最大的败笔在哪里?-把混沌工程做成了测试没在生产环境没在生产环境进行故障注入实验故障注入实验止步于测试环境和准生产环境在生产环境进行故障注入实验,犹豫再三,终究下不了决心混沌工程实践,沦落为另一种软件测试“混沌工程不就是测试吗。出问题给我发邮件。”开发人员对测试人员说完后,就*又忙着手上进度要求最紧的事情了又忙着手上