《张皓&张凯-蚂蚁集团混沌工程技术理论与实践.pdf》由会员分享,可在线阅读,更多相关《张皓&张凯-蚂蚁集团混沌工程技术理论与实践.pdf(27页珍藏版)》请在三个皮匠报告上搜索。
1、蚂蚁集团混沌工程技术与实践主讲人:张皓、张凯演讲嘉宾介绍张皓蚂蚁集团高级技术专家,蚂蚁混沌工程业务负责人 先后在阿里集团和蚂蚁集团供职12年 2017年开始从事混沌工程领域,为蚂蚁集团混沌工程团队(技术蓝军)初创成员 在技术蓝军团队先后负责资金安全和高可用混沌工程业务,并多次作为负责人组织527和1218大型攻防演练活动 对混沌工程领域的业务,技术,运营,组织建设等方向都有丰富的实践经验演讲嘉宾介绍张凯 蚂蚁集团混沌工程技术专家 蚂蚁集团混沌工程技术专家 蚂蚁集团混沌工程核心技术负责人,孵化 ChaosMeta 以及云原生故障注入技术 蚂蚁集团基础设施红蓝攻防一号位,落地基础设施攻防演练 先后
2、在腾讯云和蚂蚁落地混沌工程平台,对混沌工程技术有丰富的探索以及实践经验CONTENT目录2023K+01蚂蚁集团混沌工程发展概述蚂蚁集团混沌工程业务和技术实践0203ChaosMeta介绍Part 01蚂蚁集团混沌工程发展概述 蚂蚁集团技术风险概述 2015-2017:第一代混沌工程 2018-2020:第二代混沌工程 2021-2023:第三代混沌工程蚂蚁集团技术风险概述故障为核心业务指标,驱动技术架构和运营体系建设技术架构运营体系故障趋势整体打法以故障为核心业务指标,驱动体系建设技术和运营双体系结合,持续迭代故障近年稳步下降强文化宣导,建心智重制度建设,审计常态化01000FY18FY19
3、FY20CY20CY21历年P级故障数红蓝攻防牵引体系建设风险架构演进构筑防线2015-2017:第一代混沌工程527光缆事件-蚂蚁集团正式成立技术风险部 容灾演练常态化进行1218重大资损故障-资金安全防控成为技术风险部的核心业务之一 大面积上线资金核对能力,T0/TM/TH/T1核对 混沌工程团队(技术蓝军)正式成立,以资金安全领域的攻防演练为主要业务2018-2020:第二代混沌工程混沌工程业务持续扩展,组织持续扩大 资金安全 技术蓝军 高可用&变更 技术蓝军 大数据 数据蓝军 前端/客户端 端蓝军混沌工程技术快速演进 JAVA任意代码注入技术 日志注入技术 监控注入技术 资金表无损注入
4、技术527对于每个蚂蚁技术人来说都是一个非常特殊的日子。2015年5月27日,光纤挖断导致故障的黑天鹅事件让支付宝成为热搜,这也敲响了我们“敬畏风险”的警钟,集团把这一天作为纪念日、技术日和创新日。我们相信可以用技术的力量为客户带来有价值的改变。527重点发力运营1218的资金安全故障,警醒着我们要时刻敬畏风险,保持初心,坚守“客户第一”的理念,不断提升“客户体验”。同时也促使我们思考如何让风险的不确定性在持续的优化升级中变得可预知、可预测。因此我们用技术创新构建风险免疫系统,让每笔业务精准可靠,让每次体验丝般顺滑!12182021-2023:第三代混沌工程技术风险服务托管(降本提效)变更无人
5、值守,容量扩缩容托管,资金核对托管 混沌工程:演练托管(大规模常态化演练自动化)技术风险智能化(gpt)智能监控,智能核对,opsgpt 混沌工程:风险挖掘 智能产生演练场景故障发生少,但发生多为重大,且存在新故障形态 混沌工程更加重视云原生基础设施 内容展示型的故障演练(例如产品页面乱码)多媒体业务混沌工程(直播等)Part 02蚂蚁集团混沌工程业务和技术实践 资金安全 弱点挖掘 高可用&变更 新业务探索资金安全蚂蚁集团业务稳定性的核心挑战:金融级的稳+互联网的快资金安全万亿资金秒级实现核对“账、证、实”交易系统(服务A)花呗支付系统(服务B)业务流trade_orderpayment_or
6、der数据落库数据落库trade_amount=10pay_amount=10 pay_amount=11 资金上下游一致性核对混沌工程实践:资金表上下游一致性故障资金服务逻辑异常故障资金安全Java Agent交易系统交易DB注入:写DB篡改binlog异步复制有损注入核对数据采集系统注入:核对消费数据篡改为什么引入无损注入?面向生产环境的混沌工程 控制注入影响,降低恢复成本 大规模常态化攻防演练资金表注入金 额,状 态,账 号,币 种,费 率 等 数 据 篡 改有 损 注 入&无 损 注 入资金核对系统注入二方包无损注入资金服务注入服 务 参 数,返 回 值 篡 改服 务 代 码 逻 辑
7、篡 改(运 行 时 任 意 代 码 替 换)代码逻辑注入逻辑1注入逻辑2弱点挖掘“弱点”是指业务风险点的集合,弱点挖掘是用技术手段识别出业务风险点,为演练场景设计提供输入。主要弱点类型 资金表 资金服务 资金消息关键技术JAVA字节码技术程序分析(污点分析)模糊测试(fuzzing)高可用&变更Java Agent交易系统注入:写日志篡改日志采集高可用无损注入技术高可用混沌工程机 房 级 容 灾 演 练(同 城&异 地)业 务 可 用 性 演 练(降 级,切 流,预 案 等)云 原 生 攻 防 演 练(基 础 资 源,K 8 S 组 件 等)变更混沌工程技 术 风 险 红 线:变 更 三 板
8、斧(可 监 控,可 灰 度,可回 滚)变 更 防 御:统 一 变 更 核 心(收 敛 所 有 变 更)前 置 防 御:什 么 变 更 不 能 做(封 网 期 间 禁 止 变更)后 置 防 御:变 更 后 是 否 有 问 题(核 心 业 务 和 系统 指 标 监 控)变 更 攻 击:前 置 攻 击:m o c k 非 法 变 更(时 间 非 法/参 数非 法)后 置 攻 击:m o c k 正 常 变 更+相 关 业 务/系 统指 标 异 常chaosmeta 孵化器日志注入日志Monitor Agent监控系统监控注入监控注入接口注入:监控数据篡改新业务探索内容展示混沌工程故障每年持续下降近
9、几 年 保 持 3 0-4 0%的 降 幅常规故障发现应急能力完备变 更 防 御实 时 核 对秒 级 监 控精 准 定 位自 愈 恢 复蚂蚁业务更加多元化支 付 宝 生 活(短 视 频,直 播)支 付 宝 运 动读 书 听 书新形态故障逐步出现产 品 页 面 展 示 乱 码直 播 间 弹 幕 异 常 多媒体混沌工程Part 03ChaosMeta介绍 概述 核心特色介绍 社区规划ChaosMeta概述ChaosMeta 是一款面向云原生、自动化演练而设计的混沌工程平台。是蚂蚁集团内部混沌工程平台 XMonkey 的对外开源版本,凝聚了蚂蚁集团在公司级大规模红蓝攻防演练实践中多年积累的方法论、技
10、术能力以及产品能力。ChaosMeta 是作为 XMonkey 的技术内核支撑着整个公司的红蓝攻防演练,对外版本中:把托管自动化演练的平台能力抽象出对外通用的“混沌工程生命周期”模型;把和开源产品通用的经典故障场景以“风险目录”的方式内置到 ChaosMeta 中;将基础设施的故障演练经验抽象为云原生故障演练能力。六大核心特色竞争力丰富的故障注入能力,具备针对 Kubernetes以及 Operator 等故障的云原生注入能力云原生架构云原生架构,灵活性高,支持各种用户环境云原生故障注入能力覆盖准入检测、流量注入、故障注入、故障度量、恢复度量、注入恢复等各个阶段的技术支撑风险目录混沌工程生命周
11、期大量实践经验充分验证,功能可靠性高,历史故障经验沉淀“风险目录”自动化混沌工程以“混沌工程生命周期”的支撑能力为技术基础,以“风险目录”为理论基础,往自动化混沌工程演进一键部署,简单易用,易集成,界面操作,使用门槛低开箱即用云原生架构 可视化界面 平台能力的使用界面 远程注入、编排、度量等核心平台能力 部分云原生故障能力的实现 各种单机故障能力的实现 提供 Agent、命令行、Daemonset 等多种接入方式用户层(Client)引擎层(Engine)内核层(Kernel)云原生故障注入能力Kubernetes 核心组件的故障Kubernetes业务逻辑故障Operator 相关的故障Ap
12、iServer CPU、内存等异常ApiServer 和 ETCD 断联ApiServer 和 Scheduler 断联大量 Pengding Pod 堆积Admission Webhook 注入Watch&List 链接堆积Lease 获取失败自动化混沌工程风险目录-理论基础混沌工程生命周期-技术基础ChaosMeta故障能力系统资源CPU,内存,网络,文件,磁盘,进程等内核资源文件描述符 fd,nproc 等JVMJAVA 方法调用延时,抛异常,篡改参数和返回值容器容器内系统资源异常,容器状态异常等Kubernetespod/node 的单机故障注入云原生集群资源异常:Pending Pod 堆积,Completed Job 堆积等云原生资源实例异常:Deployment 实例副本扩缩容,Pod 实例 Finalizer 注入等ChaosMeta平台能力将架构图中的组件完成对外开放具备支撑混沌工程生命周期的能力一次配置,多次执行攻防演练自动化一键体检,输出稳定性评分以及风险点结合人工智能技术实现智能化混沌工程阶段一阶段二阶段三参与社区互动,留下你的足迹提 Issue 或建议:https:/ 混沌工程THANKS