超大规模弹性计算节点自动化运维稳定性实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 超大规模弹性计算节点
自动化运维稳定性实践
唐磊(小唐)
阿里云 技术专家
2.
3. 个人简介
姓名:唐磊,花名:小唐,网名:石头
•
•
•
•
2008 ~ 2015:学生@中南/清华, (CG&CAD)
2015 ~ 2017:工程师@宜信大数据创新中心,(互金-信贷)
2017 ~ 2019:工程师、TL@大疆创新,(社区 SkyPixel)
2019 ~ 至今:工程师@阿里云神龙计算平台,(弹性计算-异常调度)
2
4. 内容提纲
01 概述&背景
02 业界方案
03 我们的方案
• 客户诉求 • 业界方案 • 基于专家规则的自动化运维策略
• 业务难点 • 发展趋势 • 运维评价
• 发布熔断
3
5. 01 概述&背景
4
6. 概述&背景 – 客户诉求
云下环境特点
•
•
•
•
维护成本高
资源利用率低
IT 资源管理和运维复杂繁琐
…
智能自愈:
• 智能编排
• 预测&自愈
无人
值守
客户用云述求
VM:
IaaS产
品天然
单点
可控制:
• 原子操作
• 自动化
异常感知:
• 监控&告警
• 根因诊断
可控制
可感知
稳定&可靠:
• 稳定性 SLA
• 性能 SLA
稳定&可靠
需求层次
5
幸福感
自动化运维
提升幸福感
已发生的不可用:及时止损
未发生的不可用:提前规避
安全感
7. 业务难点 – 基础设施规模大
100,000,000+
部件
(CPUs, disks etc.)
200+
可用区(AZ)
1,000,000+
设备
28
3000+
数据中心区域(Region)
网络和CDN节点
• 云计算基础设施规模决定了其运维复杂度
• 没有现成的产品可以借鉴,需要探索出自己的道路
6
5000+
集群
8. 业务难点 – 产品形态多、业务领域广
业务领域广
热迁移(无感更换物理机)?
部分监控缺失?
X86计算
G6 通用型 C6 计算型 R6 内存型
G5 通用型 C5 计算型 R5 内存型
SN2NE 通用网
络增强
SN1NE 计算网
络增强
I2 本地SSD
HFC6 高主频
计算型
SE1NE 内存网
络增强
D1NE
大数据型
D2
大数据型
HFG6 高主频
通用型
RE6 内存形
裸金属&高性能计算
异构计算
HFR6 高主频
内存型
I1 本地SSD
D1
大数据型
GN6v GPU计算型
F3 FPGA 计算型
通用计算业务
EBM 弹性裸金属
高性能高主频业务
GN6i GPU计算型
SCC 超级计算集群
GN5 GPU计算型
本地盘存储大数据业务
E-HPC 弹性高性能计算
F1 FPGA 计算型
GA1 GPU可视化型
异构GPU业务
Web服务器;批量计算,分布
式分析,高性能科学和工程类
应用和平台;广告,游戏
高性能科学计算
高性能前端机
高性能数据库
数据挖掘和分析
Redis,Memcached
内存型数据库
中小型数据库
数据处理任务
企业后台应用
MapReduce分布式计算如
Hadoop、Spark等;分布式文
件系统;日志和数据处理
关系型数据库;NoSQL
数仓;内存型数据库
Hadoop/Spark集群(实时)
基因组学研究;视频编解码、图
像转码;金融分析
深度学习;视频处理;图
形可视化;科学计算
异构FPGA业务
高性能数据库;高性能网站前端机;
数据处理任务;企业后台应用;高性
能计算、科学计算
SCC超算业务
RDMA高性能网络
售卖形态多
预付实例
按量实例
预留实例
竞价实例
停机不收
费实例
7
DDH
实例
智能机柜
实例
混合云
一体机
监控诊断运维
手段有差异
9. 业务难点 - 知识面广&技术难度深
链路长
覆盖子系统众多
技术难度深
core
• Intel:
SKL/ICL/Atom
• AMD: MiLan/ROME
• YiTian710
• kunpeng
8
CPU子系统举例
cache
• LLC 一致性
• LLC 容量 QoS
• LLC 争抢
IMC
• IMC freq
• IMC channel
• memory buffer
10. 02 业界方案
9
11. 业界方案及发展
Zabbix WebUI
ZabbixServer
MySQL
Time
AlertManger
Prometheus
SpanID
Grafana
TraceID
TSDB
ZabbixClient
ZabbixClient
Zabbix Client
Metric
ParentSpanID
Pull
Push
•
依赖关系
Duration
Tag
Tracing
应用指标
新监控标准+APM产品百家齐放
BorgMon
细节公开
Cacti发布
(snmp)
Zabbix
备受追捧
ES1.0发布
2010
2012
ZipKin/Jaeger等
APM软件发布
Prometheus
加入CNCF
2016
•
•
Status
Nagios发布
•
•
Resource
ZabbixClient
ZabbixClient
App Exporter
传统监控时代
Log
•
拓扑自动分析
OneAgent通用采集
动态阈值告警
影响面自动分析
APITrace分析
故障根因分析
拓扑
数据化/AIOps/可观测
DynaTrace
AIOps
Moogsoft
Saas
AliYun
ARMS
ES APM OpenTracing
发布 OpenCensus
2017
10
2018
Azure
Metric-
Advisor
发布
AliyunSLS
AI分析能力
发布
2019
CNCF发布
可观测技术
雷达
2020
12. 03 我们的方案
11
13. 我们的方案 – ECS 监控运维体系 发展历程
工具+人工时代
平台+半自动编排
数据化智能化
ECS正式售卖
IDC硬件监
控上线
飞天底座
监控上线
组件监控接入
Alimonitor
2010
ECS全链路诊
断平台上线
交付效能
提升10倍
接入落日弓
发布编排
2013
底层应用接入
天基&监控接
攻克底座
入XFlush
环境问题
监控采集
Agent重构 计划运维
(灰度系统)
Cloudops
运维平台发布
2016
2017
12
自动化运维
决策大脑上线
监控覆盖度
99.995%
2018
内存故障
预测上线
攻克根因
可解释性问题
运维策略评
价体系建设
99.9%异常自
动闭环
发布熔断
2019
2021
14. 我们的方案 – 整体架构
运维引擎
完整链路追踪
客户侧事件
运维定义 NC 运维 运维调度 运维事件 磁盘类 实例类
工作流
编排 VM 运维 自助运维 受损事件 宕机/夯机 性能受损
mns
运维决策
诊断引擎
A/B Test 运维评价 规则定义 特征计算 异常抽取 数据清洗
统一流控 根因推导 规则匹配 异常定义 聚合计算 维度关联
监控采集
日志服务
配置下发 监控调度 任务存储
配置存储 任务执行 结果存储
聚类分析 日志预警
日志收集 查询分析
可靠的底座
离线数据
在线数据
控制面
找到每一条异常的源头,通过各种数据清洗、加工、抽象后,基础的数据源
已丢失,通过Tracing方式找到源头。
硬件
虚拟化
GUEST
资源
组件
地域
机型
集群
基础设施
底座
BLINK
ilogtail
ODPS
MNS
schedulerX
TDDL
13
• 数据处理:承载百万级物理机的诊断能力
ODPS 承载百TB级数据传输; (hadoop)
BLINK 确保每日同等数量级的 数据实时性 (apache-flink)
• 日志服务:类似 ELK 产品栈,提供更完整的数据处理能力(数据投
递、日志聚类),以及强大的计算聚合函数 (map, json, lamda 函数
等)
• MNS: 高效、可靠、安全、便捷、可弹性扩展的分布式消息通知服务
• TDDL: 分库分表解决方案 (sharding-jdbc/MyCat)
• SchedulerX:基于Akka架构的分布式任务调度平台 (XXL-
JOB/ElasticJob)
15. 服务可降级,单元化部署
我们的方案 – 监控数据采集
来源
AlarmAgent
自研
Prometheus
K8s开源
Nightingale
采集策略
采集侧
服务侧 服务侧
周期采集
按需采集 周期采集
•
•
调度器轻量化
采集之间数据共享
服务消费
数据回流存储
滴滴开源
采集侧
• 覆盖率:99.9%
• P95 CPU 利用率:
±3%
• 采集数据:100T/D
周期采集
支持规模 百万级节点 千级别 万级别
结果完整度 高
采集回流分离 中
结果实时回流 中
结果实时回流
采集自监控 完善
报表和告警 有限
节点丢失提醒 有限
节点丢失提醒
灰度发布 支持 不支持 不支持
代码发布灰度可控
• 问题尽早暴露
• 降低故障爆炸半径
14
告警中心
其他消费
SLS
(…)
节点采集
采集大盘
云监控
Blink 实时同步
资源最大化利用:资源有限(1-2HT)
触发方式
同步
ODPS
SLS
(张家口)
规模效应
对比项
T+1
SLS
(弹内)
16. 我们的方案 – 运维策略相关定义
相关定义:
•
•
•
•
监控异常
特征定义
运维规则
运维动作
15
17. 我们的方案 – 运维评价(理论)
产生背景:
• 区分运维动作的“好坏优劣”?锁机器、热迁移、下线
• 是否存在过度运维的问题?
• 对客户真实体感是什么?
评价度量*:
• 性能度量
• 不可用度量
权重参数:作为预期/非预期影响因子,
例如客户事件响应的预期行为;
产出KeyMetrics数据
权重参数:异常严重程度
• 控制面度量
差异化分析:
•
•
显著性差异检验 - 单因素方差分析F检验(Welch's anova)
精准控制切流比例 - 功效分析(Cohen’s f)
[*] Levy S, et al. Predictive and Adaptive Failure Mitigation to Avert Production Cloud VM Interruptions.[C]// Operating Systems Design and Implementation. 2020.
16
18. 我们的方案 – 运维评价(工程落地)
落地方案
评价模块
数据加速层
KeyMetric
方差/功效分析
切流建议模块
KeyMetric原始数据--ADB/SLS 加速查询
Spark算法
过滤器配置
MaxCompute
a. 历史异常回放
对外评价API
特征分类配置
回写
任务
导入
b. 提前命中程度统计分析
a. 每日命中资源详情
c. 漏召回详情分析
b.
每日命中资源各维度分布
离线结果表
d. 新增命中资源详情分析
定时计算任务
静态维表
异常感知模块
面临问题
异常计算
特征规则
日志聚类
数据
导入
离线异常特征
运维策略 A/B 上线流程
A/B Test灰度切流比例建议
• 如何与现有的
运维体系整合?
• 如何安全高效的
灰度发布上线?
17
19. 我们的方案 – 业务流控
业务流控:
• 自动运维维持正常水位
• 有效阻止故障发生
完善的数据报表支撑
灵活的流控规则
丰富的流控维度
18
20. 我们的方案 – 灰度发布
hash分组,降低分组亲和性
背景:
• 业界大概 XX % 的生产事故由变更而触发
组内客户优先级排序
• 集团全部故障中 xx %+和变更相关
业务:
8421 等发布节奏
• 支撑百万级资源的发布(千万级 VM)
计算、存储、网络各
组件版本,OS/CPU/
机型/集群等30+维度
• 发布业务方数百
• 累计变更次数 n 亿
• 发布次数 n 万
19
21. 我们的方案 – 灰度发布&熔断
熔断能力
发布过程 ,通过诊断识别异常或隐患,主动阻断发布,是提升发布
稳定性的利器,XX 期间,发布有效熔断近百次,有效召回率98%
熔断次数
召回率 =
∗ 100%
熔断次数 + 漏召回次数
有效熔断
准确率 =
∗ 100%
熔断次数 + 漏召回次数
[*] Li Z , et al. Gandalf: An Intelligent, End-To-End Analytics Service for Safe Deployment in Large-Scale Cloud Infrastructure[C]// Networked Systems Design and
Implementation. 2020.
20
22. 总结
概述 业界方案
o 客户上云需求&稳定性述求
o 解决问题的难点 o 监控告警体系演进
自动化运维解决方案 推荐更多内容
o 监控采集: 解耦、可降级、单元化、灰 o
度
o 运维策略: 全链路 Trace
o 运维评价: 过度运维
o 稳定性利器: DryRun、A/B Test,流
控、灰度、熔断
o
o
o
21
欢迎交流
Predictive and Adaptive Failure Mitigation to
Avert Production Cloud VM Interruptions
Gandalf: An Intelligent, End-To-End Analytics
Service for Safe Deployment in Large-Scale
Cloud Infrastructure
Localizing Failure Root Causes in a
Microservice through Causality Inference
Predicting Node Failures in an Ultra-large-
scale Cloud Computing Platform- an AIOps
Solution
23.
24.