《于海影-利用混沌工程进行强弱依赖演练及攻防演练.pdf》由会员分享,可在线阅读,更多相关《于海影-利用混沌工程进行强弱依赖演练及攻防演练.pdf(34页珍藏版)》请在三个皮匠报告上搜索。
1、01价值分析02混沌工程平台03自动化闭环演练04攻防演练目录Content01价值分析2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站价值分析2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站复杂的系统群2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站故障类型机房问题:机房断电、网络不通、网络延迟机器问题:load高、cpu满、磁盘满、IO满中间件问题:zk集群故障、mq故障、数据库故障、缓存故障依赖问题:下游dubbo/http接口延迟、抛异常应用问题:fullGC、服务下线、日志拖慢、线程池满2023 DevOp
2、s 国际峰会 暨 BizDevOps 企业峰会 北京站混沌工程介绍概念In software development,a given software systems ability to tolerate failures while still ensuring adequate quality of serviceoften generalized as resiliencyis typically specified as a requirement.However,development teams often fail to meet this requirement due to
3、 factors such as short deadlines or lack of knowledge of the field.Chaos engineering is a technique to meet the resilience requirement.目标 建立系统抵御生产环境中发生不可预知问题的信心。把不确定变确定。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站混沌工程收益用户:稳定的用户体验测试:提前发现隐患并降低故障复发率开发和运维:提升故障应急效率01、人02、流程故障治理体系:完善故障治理体系,从被动发现转为主动发现故障应急:验证报警有效
4、性与及时性,预案的可行性韧性:提升系统容错、容灾能力基础能力:可监控、可回滚可降级03、系统02混沌工程平台2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站应用层次架构2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站实践路径关机演练机房、中间件实体机虚拟机01应用演练服务依赖故障02攻防演练常态化攻防混沌文化032023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站应用演练技术选型组件支持平台支持场景开源整体性侵入型特点ChAPVM丰富否好高实验参照对比ChaosbladeVM/K8S丰富是差(当时只有agent)低简单易
5、用、扩展性好、社区活跃ChaosMeshK8s丰富是好无云原生、社区活跃2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站依赖关系不健康导致的蝴蝶效应强弱依赖超时是否合理、熔断是否符合预期、异常是否被处理等强依赖太多,能否降级为弱依赖 目标:弱依赖挂掉,主流程不受影响2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站关键点1:依
6、赖关系收集2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站关键点2:故障注入编排并行手工控制串行一次性注入多个故障,快速定制化、灵活出问题容易排查ABC2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站演练流程1、服务治理依赖关系收集2、用户标记依赖关系3、进行强弱依赖演练4、问题修复结果确认0102演练收益1、混沌平台基础能力建设2、演练经验、流程沉淀3、演练系统68个,工时70PD,发现问题136个4、认知统一,价值认可03问题1、覆盖面低2、人工成本高3、会影响用户03自动化闭环演练2023 DevOps 国际峰会 暨 BizDevOps
7、 企业峰会 北京站日常周期性01低成本02高覆盖032023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站自动闭环演练-难点如何保证对线上无损自动触发如何自动断言结果如何确保命中率如何确保准确率2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站010203自动化测试平台自动生成测试用例混沌平台对压测流量进行识别,只对压测流量注入故障,实现在线上无损演练压测标识流量,线上数据和日志能够识别压测标识,进行隔离
8、压测平台2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站断言维度断言标准断言方法1、对入口的结果数据进行对比,核心业务字段对比产生断言结论2、标记核心监控和核心指标,有问题及时熔断1、对于C端用户,功能有没有受到影响2、核心数据有没有问题:金额、订单数据链路入口级别2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站增量演练命中率90%3.0版本精准case命中率80%2.0版本随机case命中率45%1.0版本命中概念:故障注入期间,压测流量打到当前依赖2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站02根据演练结果d
9、iff出的差异点,补充0103和开发确认配置关心忽略节点,进行强弱依赖断言入口应用自动化平台获取初始关心忽略节点2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站自动闭环演练-效果覆盖21个核心入口,2800个依赖,不合理依赖96个,演练成本由260PD,降低到10PD04攻防演练2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站攻防演练01背景故障处理经验欠缺故障持续时间长、恢复慢P1P2故障解决时长超时率62.5%02目标提升技术同学故障处理能力完善故障应急预案体系2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站攻防演练 攻击方注入攻击点,防守方排查出异常后上报给攻击方,攻击方确认攻击点是否正确正确则得分2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站攻防演练攻击点编排攻击点上报攻击终止积分复盘 场景设计:历史高频故障 防守方定位排查后,上报给攻击方 攻击方确认,正确则得分 根据定位时长 根据故障难易程度 排名、公示 防守方定位成功 超时自动终止 问题排查、修复2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站ThanksDevOpsDevOps 时代社区时代社区荣誉出品