SRE提高服务质量和稳定性的套路 刘征 PHPCon2020

  • 84 浏览

PHPConChina

2020/10/25 发布于 技术 分类

文字内容
1. SRE提高服务质量和稳定性的套路 解密 SLO 背后隐藏的算法和政治 刘征 Elastic 社区布道师 2020 年 10 月
2. PHPConChina 历年完整 PPT 下载: https://github.com/ThinkDevelopers/PHPConChina 视频回看地址: https://www.itdks.com/Home/Act/apply?id=5366 PPT 版权归属 PHPCon 组委会和嘉宾本人所有,请勿通过其他渠道提供下载
3. PHPConChina 官方渠道 • • • • • 官网:http://www.phpconchina.com/?o=ppt 公众号:PHPCon 纪念品购买:https://k.weidian.com/H3=4lVho 客服咨询:PHPConChina(个人微信号) 官方QQ群: 34449228( 加群注明 PHPCon ) 扫码关注了解行业最新动态
5. 站点可靠性工程是一门工程学科, 致力于帮助组织在其系统、服务和 产品中持续实现适当的可靠性水平。 David Blank Edelman Microsoft SRE /《Seeking SRE》
6. 站点可靠性工程是一门工程学科, 致力于帮助组织在其系统、服务和 产品中持续实现适当的可靠性水平。 David Blank Edelman Microsoft SRE /《Seeking SRE》
9. 站点可靠性工程是一门工程学科, 致力于帮助组织在其系统、服务和 产品中持续实现适当的可靠性水平。 David Blank Edelman Microsoft SRE /《Seeking SRE》
10. 站点可靠性工程是一门工程学科, 致力于帮助组织在其系统、服务和 产品中持续实现适当的可靠性水平。 David Blank Edelman Microsoft SRE /《Seeking SRE》
11. 相悖的激励机制
13. What Makes SRE, SRE 什么是 SRE 的 SRE? • • • • • • • • • • • • 指的是雇佣 Coder 为你的服务设置 SLA 度量和报告SLA的实时性能 在团队使用错误预算和门限发布 SRE和Dev统一的人力池 过剩的 Ops 工作溢出至 Dev 保持SRE的Ops工作量在50% 与 Dev分享5%的运维性工作 Oncall 团队最少 8 人组成,或者 6x2 每次Oncall的值班,最多处理 2 个事件 每个事件都做事后回顾 无职责的事后回顾聚焦在流程和 技术,而不是人
14. 实施 SRE 的核心三部曲 SLO 监控 判断 • 定义服务的稳定性 • 实施必要的 SLI 监控 • 理解影响服务稳性的诱因 • RED < SLO < Green • 共享生产的监控结果给 Dev • Green:可以按期发布 • 使之成为可信的参考源 • RED:探索问题根因 • 锁定需要持续度量的SLI
15. 销售 / 用户 SLA(1) 客户 文档 (1~1) (1~n) • • • SLA – Service Level Agreement SLO – Service Level Objective SLI – Services Level Indicator (n~1) 应用系统 (1~n) 产品 SRE SLO 产品 延 时 流 量 错 误 饱 和 SLI SRE (n~n) 基础架构服务/IaaS(1~n) DEV
16. SLI/SLO/错误预算 为何重要? SLO 通基础和语言 • 聚焦在达成目标的数据 • 工作流程趋向清晰 • 创造更有效力的开发周期 SRE监管平台 为利益干系各方提供了统一的沟 日志 指标 APM 透明数据 共享平台 UP Time SLI • SLA 归因逻辑和算法 客户 / 用户
17. Service Level Indicators:SLI 服务质量/水平指标
18. 除了 Feature code 之外,客户眼中的一切 新鲜度 持久性 正确率 质量 流量 覆盖率 可用性 延迟 稳定性
19. 关注所有 SLI 数值的比例 / 比值 / 百分比 + 从何而来 成功的 http调用 操作完成 时间<10ms 高质量 响应次数 已处理 数据条数 #http总量 #操作总量 #响应总量 #数据总量 度量负载均衡采 度量来自客户端 度量服务器端日 度量应用程序自 集到的 http 访问 的数值 志里的数值 己生成的数值 的数值
20. 来做一些算数 从 SLI 到 SLO 的演算过程 1 2 3 4 5 95次成功的 http 调用 90 / 100 (0.95*100)% 可用性 http 调用 总量为 100 次 比例为 0.95 95% 为 95%
21. 这些指标从何而来? 采集的数据源 • 服务器端 • • 直接提供 日志采集器 • 应用的前端 • 客户端、 App 端 • 监控系统(ELK)、测试系统 • 理解数据源的差异(取舍) • 必须拥有一个真实可信的监控系统
22. Service Level Objectives:SLO 服务质量/水平目标
23. SLO 的配方 监控事物 SLI 数值比例 时间窗口 • 响应 HTTP 的请求 • 95% 返回成功响应 • 在最近的 10 分钟内 • 发送网络数据包 • 90% 每秒发送 12.2 Mb • 现在的这个季度里 • 处理客户下单 • 85% 10秒内完成下单 • 从现在往前的28 天里 复式定义 90% 的 HTTP 请求 由负载均衡(ELB)监控到 得到成功的返回 在最近的 30 天中 SLO 示例: • • 在过去一周里90%的读操作<10ms 在过去一周里95%的读操作<20ms 分段定义: • 百分位分布 p50 p90 p95 p99
24. 如何设置目标: 1 客户期望(内部/外部) 2 当前的状态 (引用/参考)
25. 错误预算 实时监控,理性消费
26. 错误预算和 SLO 的关系 SLI à SLO à Error budget
27. 错误预算相关的管理措施 《SLO 文档》 + 《错误预算》= It depends, make a plan, follow the plan. 余粮还剩不少? • • • • • 发布频率 ++ 特性速率 ++ 开展实验 ++ 基础架构变更 ++ 无为而治 耗尽了怎么办? • • • • • 发布频率 -将有效的资源投入到可靠性 (resiliency,instrumentation) 变更冻结 调整 SLI / SLO 无为而治
28. Elastic SRE 管理方案 一站(栈)式,统一SRE监管平台
29. 一套技术栈,三大解决方案 3 solutions Elastic Enterprise Search Elastic Observability Elastic Security Kibana Powered by the stack Elasticsearch Beats Deployed anywhere Elastic Cloud SaaS Logstash Elastic Cloud Enterprise Elastic Cloud on Kubernetes Orchestration
30. Elastic 可观测性 Logs Metrics APM Uptime
32. 如何实施 SRE? 万事开头难 30 • 发现问题/事故/同情心 • 得到领导层的支持 • 深入学习 SRE,学习相关书籍 • 和志趣相投的人在一起交流 • 把 SLO 和错误预算踏踏实实做好
33. 问答! • 感谢大家的聆听
34. Thank You Search. Observe. Protect.