GIAC-2022sh 学习笔记 | 哈啰稳定性建设演进之路

简介: GIAC-2022sh 学习笔记 | 哈啰稳定性建设演进之路

tech_risk.png

哈啰稳定性建设演进之路

哈啰 - 孟闯

http://www.thegiac.com/2022sh/schedule

关于我

孟闯

10余年互联网行业研发经验,主要从事后端系统研发,擅长高并发系 统,高可用架构设计

2015年加入哈啰,参与多个核心系统从0到1的建设过程

最近2年主要在做稳定性相关工作,现任哈啰技术风险负责人,负责 全局系统稳定性建设


技术风险整体框架

影响稳定性的因素

  • 业务发展: 业务体量从小到大,系统压力变大,逻辑变得复杂
  • 人员意识: 风险意识不足,对稳定性重视程度不够,缺少经验
  • 外部环境: 运营商网络、第三方外部接口、机房环境
  • 系统设计: 架构设计不合理,健壮性不够,缺少容错设计稳定性
  • 技术升级: 发展过程中引入了新的技术,带来收益的同时伴随着风险


我们面临的挑战

  • 业务 迭代快
  • 人员 组织大
  • 技术 系统多
  • 标准 要求高


应对策略

  • 分而治之: 先解决主要矛盾,区分 核心与非核心,成熟型 业务与发展型业务
  • 技术升级: 坚持以技术手段来解决问题,包括演练、压测、 巡检等
  • 流程规范: 使用流程规范来约束人的行为,对工具进行补 充,制定红线与军规
  • 权责明确: 设立稳定性架构师角色, 明确责任,保障稳定性的人力投入稳定性策略
  • 持续运营: 避免运动式治理,通过稳定性运营机制持续推进稳定性提升


技术风险发展过程

  • ~ 2018 点状治理
  • 2018 ~ 2019 重点项目
  • 2020 ~ 体系化


技术风险组织形式

  • 组织职责
  • 稳定性建设目标、标准、规范制定
  • 工具/平台建设,通用能力沉淀与输出
  • 稳定性基线,牵引业务线稳定性能力提升
  • 核心理念
  • 保障业务连续性是首要目标
  • 让风险可量化可治理
  • 坚持以技术手段优先来解决问题


目标拆解 - 稳定性目标

  • 降低故障发生概率: 99.99% 提升MTBF
  • 故障预防能力
  • 故障隔离能力
  • 降低故障影响范围: 5-5-10达标 缩短MTTR
  • 故障发现能力
  • 应急处置能力


能力框架

tech_risk.png


最佳实践 - 依赖治理

依赖治理 - 复杂的调用关系: 网关 -> 系统 -> 存储


依赖治理 - 应用分级: S1(最核心)-S4


依赖治理 - 治理原则

  • 明确强弱依赖
  • 熔断降级限流
  • 避免核心单点
  • 治理共同依赖


依赖治理 - 长效机制 如何保证依赖关系的合理性是长期有效的?

  1. 研发流程
  2. 高可用平台
  3. 混沌工程
  4. 巡检平台


最佳实践 - 大促保障

大促保障 - 大促特点: 大促保障与日常保障的关键区别是流量差异,大促一般具有时间短、流量大、营销玩法丰富的特点


大促保障 - 保障细节

dachu.png

大促保障 - 关键思路

  • 组织保障
  • 全链路压测
  • 封网管控
  • 应急机制


最佳实践 - 故障演练

故障演练 - 整体框架

  1. 线下 - 依赖关系演练 重在检验各项依赖关系的合理性
  2. 线上 - 应急演练 常态化预案演练、专项演练、大促演练等
  3. 线上 - 攻防演练 无预告突袭式演练,以战代练


故障演练 - 故障处理过程

mttr.png

故障演练 - 关键思路: 故障演练的目的,不止是检验系统某个维度的稳定性,更是在验证稳定性建设的综合能力,包括预防能力、发现能力、定位能力、应急处置能力等等

  • 人员: oncall值班 稳定性意识
  • 系统: 依赖合理 容错降级完善
  • 工具: 监控告警有效 排障工具有效
  • 流程: 预案完整 应急协同有效


故障演练 - 落地方式

  • 考核方式
  • 运营机制
  • 基础能力


稳定性运营机制

稳定性运营 - 背景: 如何避免「运动式」治理 如何巩固稳定性建设成果


风险大盘 - 稳定性模型

  • 安全生产
  • 故障演练
  • 服务治理
  • 研发过程
  • 全链路压测
  • 监控告警


风险大盘 - 量化机制: 稳定性大盘


稳定性基线: 技术风险统一牵引 -> 稳定性基线

  • 研发过程
  • 架构治理
  • 监控告警
  • 容量治理
  • 混沌工程
  • 应急响应
  • 故障管理


持续运营机制

  • 风险大盘(存在哪些问题,为什么要做) 稳定性周/月报
  • 稳定性基线(有哪些手段,如何去做) 基线评估 差距分析
  • 稳定性文化(提升人员意识,自发去做) 稳定性竞赛 稳定性考试


总结规划

内容总结: 稳定性整体框架 -> 依赖治理 大促保障 混沌工程 -> 持续运营


建设路径: 定目标 -> 拆过程 -> 建能力 -> 落机制

目录
相关文章
|
消息中间件 缓存 监控
系统稳定性建设实践总结
2020年,注定是个不平凡的一年。疫情的蔓延打乱了大家既定的原有的计划,同时也催生了一些在线业务办理能力的应用诉求,作为技术同学,需要在短时间内快速支持建设系统能力并保障其运行系统稳定性。恰逢年终月份,正好梳理总结下自己的系统稳定性建设经验和思考。
系统稳定性建设实践总结
|
安全 Linux 文件存储
如何在本地服务器部署TeslaMate并远程查看特斯拉汽车数据无需公网ip
如何在本地服务器部署TeslaMate并远程查看特斯拉汽车数据无需公网ip
719 0
|
6月前
|
监控 测试技术 数据库连接
RunnerGo API 性能测试实战:从问题到解决的全链路剖析
API性能测试是保障软件系统稳定性与用户体验的关键环节。本文详细探讨了使用RunnerGo全栈测试平台进行API性能测试的全流程,涵盖测试计划创建、场景设计、执行分析及优化改进。通过电商平台促销活动的实际案例,展示了如何设置测试目标、选择压测模式并分析结果。针对发现的性能瓶颈,提出了代码优化、数据库调优、服务器资源配置和缓存策略等解决方案。最终,系统性能显著提升,满足高并发需求。持续关注与优化API性能,对系统稳定运行至关重要。
|
7月前
|
机器学习/深度学习 自然语言处理 自动驾驶
如何看待LangChain与智能Agent,二者有什么区别
LangChain是一种专注于自然语言处理的框架,通过链式结构连接多个模型组件,实现复杂任务如问答、对话生成等。其六大核心组件包括模型、检索、代理、链、记忆和回调,帮助开发者快速构建基于大语言模型的应用。智能Agent则是一种能够感知环境、推理决策并采取行动的智能体,涵盖更广泛的智能行为,如自动驾驶、智能家居等。两者分别侧重于语言处理和全面智能行为的技术实现,为不同应用场景提供强大支持。
367 0
|
运维 监控 Cloud Native
云原生技术:构建现代应用的未来
本文深入探讨了云原生技术的基本原理、主要特点和应用场景。通过分析其在实际项目中的优势,如弹性扩展、快速部署和高效管理等,揭示了云原生如何成为现代应用开发的主流趋势。同时,本文还讨论了采用云原生技术时需要考虑的关键因素,包括安全性、成本控制及技术栈的选择。旨在为读者提供全面的云原生知识,助力企业在数字化转型中做出明智决策。
208 0
|
存储 运维 监控
蚂蚁超大规模分布式系统稳定性体系实践
大规模分布式系统的稳定性建设,是确保业务服务不受硬件、人为等风险因素影响而中断的核心工作,随着业务规模增大和复杂度的提升,系统稳定性的重要程度和难度也随之增大。在蚂蚁集团业务发展过程中,业务复杂度、用户规模以及业务重要性都逐步增大,相应的稳定性建设也伴随着业务的发展进行了不断地建设和提升。
2570 1
蚂蚁超大规模分布式系统稳定性体系实践
|
存储 SQL 运维
十年磨一剑:蚂蚁集团可观测性平台 AntMonitor 揭秘
蚂蚁集团的业务种类繁多,兼具金融级的“稳” 和互联网的 “快”,支撑又快又稳的业务发展需要完善的稳定性保障体系, 这个体系的基石就是可观测性平台-AntMonitor 。 早在2011年前,监控平台就已经完成初代建设,在2012到2017年这五年间,蚂蚁监控技术团队抽象出了业务视角监控牵引的模式,大大提升了核心业务的故障发现能力,同期研发了可视化引擎与易用的配置系统。为了支撑双11等大规模海量计算场景,在底层数据技术上做到了实时稳定的大规模日志和指标处理能力。随着这些能力的完成,可观测平台的产品也逐渐成熟。
651 0
PADS Router进行PCB布线的基本操作
PCB布局好之后就可以进行布线。在PADS Layout中点击工具栏右边的“PADS Router”图标导入到PADS Router进行布线。如下图所示:
1496 0
|
监控 测试技术 容器
干货!《云上业务稳定性保障实践白皮书》免费下载!
本书通过多位资深阿里云客户技术服务经理在大型项目中积累的业务稳定性保障经验以及集团内多年沉淀形成的稳定性建设体系,希望可以给读者提供一套可落地的方法论和多种云上业务稳定性保障的关键技术手段。
493 0
干货!《云上业务稳定性保障实践白皮书》免费下载!