稳保护航,助力数字原生企业新发展 云原生时代下的稳定性保障体系建设 主讲人:侯诗军 网易数帆解决方案专家 Ofalldigitaloperationswillbedeployedoncloud-nativeplatformsby2025 Source:Gartner 到2024年,由于采用了微服务、容器、动态编排和DevOps等技术,新增的生产级云原生应用在新增应用的占比将从2020年的10%增加到60%以上。 到2025年,将超过一半的中国500强企业将成为软件生产商,超过90%的应用程序为云计算应用程序。 核心业务系统,如证券交易系统、银行的资金相关账务系统、高 保险的理赔系统等。 整合式共享、变化可控,计划性强,如工作流、渠道系统。 云 支撑型业务系统,如市场和销售支撑、客户管理、资产管理。原 生化 创新类业务系统、电商场景业务、互联网金融场景业务。程 循序渐进、分步实施 云原生网关 高性能分布式认证鉴权插件扩展 中间件云化 运维自动化故障自恢复在线伸缩 稳定性保障 立体化监控 风险预测根因分析AIOPS 多中心多活 度 集中式单体架构 容器化 平台无关弹性伸缩 资源池化管理 微服务网格化 零侵入快速接入多语言松耦合注册发现 服务治理 随着转型的不断深入,各种稳定性问题往往接踵而至!低 高 落地难度(涉及组织、流程、平台、架构的变革) 业务侧 稳定性需求及预期升高 高可用 业务7*24小时在线,核心系统业务涉及民生,一旦故障社会影响恶劣 突发流量 面对业务高峰、高峰期的压力,需要强大的熔断保护和弹性伸缩能力 故障诊断及快速恢复 一旦出现故障,线上故障需精准定位,全链路追踪诊断,自动化恢复及排障 技术侧 稳定性保障难度升高 微服务化架构应用之间依赖关系错综复杂,单一节点问题可能会被无限放大,故障难以避免 核心系统日常流量保持在高水位,并发请求量大、业务激增随机性强 服务性能瓶颈难以分析,故障影响范围难以评估 云原生架构下节点分布范围更广、数量更多,为日志采集、分析带来新挑战 系统复杂 流量冲击 难预测难分析 各类稳定性事件通常存在复杂度高、难以预测、不可控等现象,更多类似的问题,已经发生或即将到来。 据不完全统计,2021年国内外云服务宕机事件达到20起以上,造成了巨大的生产事故与经济损失。传统监控方式 2020年10月1日,日本东京证券交易所在进行数据库变更操作时,错误调整系统时钟,导致了交易系统故障,当时整个交易活动停止。 2021年4月10日国内某云厂商由于其北京机房出现故障出现大面积宕机,持续3个小时。 2021年7月13日美国云计算公司Fastly出现长达1小时的服务故障,导致全球数千家政府、网站受到影响。 2021年10月23日微软Azure云产品出现Windows虚拟机全球性故障,用户服务中断6个小时。 2021年11月16日 GoogleCloud服务器由于网络配置问题造成负载均衡中断,引发全球宕机数小时,影响波及全球用户。 2021年12月7日AWS由于云服务容量问题导致网络拥塞和性能下降而宕机近4个小时。 2022年7月29日,某专车出行APP发布通知称,因网络故障导致通讯受阻,出行平台暂时无法使用叫车服务,相关人员正在紧急抢修。 2023年10月23日,语雀服务宕机7个多小时。24日语雀官方公布了后续将加强观测、变更管控、多中心高可用架构进行优化改进。 收集、分析和使用信息来观察一段时间内的运行进度,并且进行相应的决策管理的过程,监控侧重于观察特定指标。 更多的未知因素 操作变更:人员误操作、变更失败、管理不善等 代码缺陷:代码质量、程序逻辑、应用架构等故障等 平台故障:业务依赖的平台硬件故障、网络故障等 外部环境变化:外部访问流量突然变大导致的系统过载、公共卫生、自然灾害、社会安全等 …… 影响范围 危害程度 较小影响 一般影响 严重影响 内部辅助管理 第1级 第2级 第3级 内部运营管理 第2级 第3级 第4级 公民、法人和其他组织的权益 第3级 第4级 第5级 国家稳定、金融秩序 第4级 第5级 第6级 2016年7月,国务院发布《国家信息化发展战略纲要》,提出根本改变核心关键技术受制于人的局面,形成安全可控的信息技术产业体系,电子政务应用和信息惠民水平大幅 提高。 2020年4月,国务院开展全国安全生产专项整治三年行动计划。聚焦在风险高隐患多、事故易发多发的煤矿、非煤矿山、交通运输、信息技术等9个行业领域,组织开展安全生产整治。 2020年11月,中国人民银行发布《分布式数据库技术金融应用规范》JR/T0205—2020,明确了金融数据的可用性要求。 等级 RTO RPO 可用性 3级 ≤24小时 ≤24小时 每年非计划服务中断时间不超过4天,系统可用性至少达到99% 4级 ≤4小时 ≤1小时 每年非计划服务中断时间不超过10小时,系统可用性至少达到99.9% 5级 ≤30分钟 ≈0 每年非计划服务中断时间不超过1小时,系统可用性至少达到99.99% 6级 ≤2分钟 0 每年非计划服务中断时间不超过5分钟,系统可用性至少达到99.999% 2021年6月,全国人大《中华人民共和国安全生产法》修订。加大对违法行为的惩处力度,进一步压实企业安全生产主体责任,进一步明确了各方面的安全生产责任、建立起 了一整套比较完善的责任体系。 2022年6月,工信部开展云服务稳定安全运行应急演练专项活动。工信部统一部署,联合信通院开展面向全国云服务运营商的云服务稳定运行应急演练专项行动。 2023年10月,工信部、中央网信办、教育部、国务院国资委、中国人民银行、国家卫健委等六部门联合印发《算力基础设施高质量发展行动计划》,重点强调了定期开展巡 查巡检,制定应急预案提高应急处置能力,对重要系统和数据建立热备双活机制,应用仿真灰度测试、混沌工程等新技术,发掘并消除信息系统潜在隐患。 “ 如果你不能度量它,你就无法改进它。 --管理学大师彼得·德鲁克 故障改进 故障预防 MTBF:稳定 MTTR MTTR平均故障恢复时间,通过降低MTTR,提高MTBF,提高SLA MTTR:系统不稳定 故障恢复 故障定位 故障发现 MTBF:稳定 系统的稳定性,表示系统在遭受外界扰动偏离原来的平衡状态,而在扰动消失后系统自身仍有能力恢复到原来平衡状态的一种顽性。 --《现代控制理论》 事前:备战能力,故障预防 故障预防 故障演练 全链路压测 事中:作战能力,统一指挥,恢复优先 故障发现 故障定位 立体化监控 根因分析 事后:改进能力,故障复盘与改进 故障改进 故障复盘 全链路压测 引流回放 风险预见 运维诊断 容灾切换 专家经验库 服务治理 故障恢复 业内常用MTBF和MTTR这两个关键指标来衡量稳定性 1分钟内发现、5分钟内定位、10分钟内解决 平均无故障工作时间(MeanTimeBetweenFailure) 平均故障修复时间(MeanTimeToRepair) 降发生 事前事中事后 降低故障的发生率,支持应用建设“三高能力”, 即高可用、高性能、高质量。 “降发生” “降影响” “打疫苗” 风险预见故障演练 服务治理 立体化监控 根因分析 故障自愈 故障文化 高可用多活规划 全链路压测 接口治理 容量风险 安全风险 性能风险 架构风险 预案管理 熔断降级 改进项跟踪 善后处理 影响面分析 限流 服务治理 混沌工程 模糊测试 引流回放 风险预见 持续巡检 关键流程标准化 错误码 日志/指标/链路无阈值告警深度指标 多维拓扑异常事件 关联分析异常诊断事件分析 影响范围分析 规则引擎异常图谱 应急响应流程 兜底自救流程容错治理容灾恢复 规则引擎专家诊断经验库ChatGPT/AIOps 稳定性保障体系 降影响 故障特征改进建议 服务治理建议 兜底路由 演练预案库 强弱依赖管理 专家巡检规则库 预见算法 降低故障发生的影响范围,通过早感知、快定位、 及止损点形成故障处理的闭环。 经验入库 故障模拟能力 全链路压测 场景管理影子库管理 录制管理压测模型 【事前】降发生 风险预见 立体化监控 ebpf采集多维拓扑可靠性预见 稳定性保障核心能力 降发生 【事前】 观测见解 指标深度关联深度指标安全预见 根因分析 专家经验异常检测 运维诊断 诊断触发器 根因说明根因拓扑 降影响 【事中】 诊断流水线 Mock管理报告管理 性能预见 容量预见 故障观测域 诊断能力管理 诊断结果管理 混沌工程 预案管理 环境管理 演练管理 演练模版 组件稳定性增强能力 数据库变更管控 演练报告任务调度 引流回放 流量录制 发压引擎 数据隔离 Diff测试 服务网格稳定性管控 中间件稳定性管控 故障感知 管控面组件巡检 稳定性巡检 巡检报告 配置管理 DB服务元数据库 任务调度模块 容量巡检 数据面组件巡检 根因分析 故障自愈 监控告警 DDL语句预检查模块 稳定性检查模块 网格排障 流量治理 应用多活 同城主备 同城双活 异地多活 策划与执行模块 执行与控制模块 服务运行域 流量ETL流量降噪 故障观测域 故障演练域 云计算底座公有云、私有云、VMware、OpenStack...容器平台kubernetes异构环境X86/ARM 执行集记录 创建演练报告 编辑报告 环境管理演练模板 资源容量管理 场景管理 执行历史 演练报告 资源管理 演练管理 1 演练管理 2 预案管理 故障预案管理 演练 资源管理 故障管理 3 故障管理 演练任务 创建演练任务构造任务参数执行任务 执行集 创建执行集 构造执行集参数执行集执行 预案创建预案修改预案审批预案审计 创建故障故障处理故障复盘故障改进 4 演练报告 5 执行历史 6 包含故障发生前的预案及服务端迭代时的常规演练、故障发生后的故障管理覆盖故障演练的全生命周期场景。 故障结束 传统的监控数据对于问题诊断还是不太够的。通过利用eBPF能力扩充操作系统监控项,可以显著提升系统的观测能力,提升故障排查效率。 多协议支持 支持http、Kafka、Redis、Dubbo、DNS、MySQL等 应用层协议的自动监控 性能分析 01eBPF可以用于监控系统的CPU、内存、磁盘和网络性能,从而帮助用户识别和解决性能瓶颈。 零埋点采集 无侵入、性能损耗小、通用 调试和故障排除 02eBPF可以用于监控系统的运行状态,例如系统调用、进程间通信和内存分配,从而帮助用户诊断和解决故障。 深度03 指标 容器监控 eBPF可以用于监控容器的运行状态,例如容器网络、存储和资 源使用情况,从而帮助用户管理和优化容器化应用程序。 应用程序监控 04eBPF可以用于监控应用程序的运行状态,例如函数调用、 系统调用和内存分配,从而帮助用户识别和解决应用程序性能问题。 底层网络监控 Socket粒度的网络监控,支持TCP丢包、 重传、时延等深度指标 编译型语言监控 05 eBPF技术可以使用Linux提提供的uprobe/USDT的能力,可以实现运行时修改用户程序行为的能力。通过这种方式,可以对一些没有源码的应用/不方便进行修改的应用的特定函数进行插桩,从而获取到监控数据。 业务层 业务观测指标 【产品效果】服务依赖自动发现【产品效果】全链路追踪可视化 用户层应用层 ServiceMesh 容器/中间件主机/内核 前端性能监控指标 应用日志与性能日志 指标 链路 服务网格拓扑依 赖关系 云原生资源监控 数据库、消息队算法 列、分布式缓存 等基础资源信息 主机资源及拓扑内核指标、网络、IO指标 将日志事件(Logging)、链路追踪(Tracing)以及度量指标监控(Metrics)进行关联打通,实现多维度拓扑与立体化监控。 指标 详细指标 说明 评级 检测⽅式 内存 container_memory_cach