Contents
hide
SRE Google运维解密
概览
介绍
Google生产环境:SRE视角
指导思想
拥抱风险
服务质量目标
减少琐事
分布式系统的监控
Google的自动化系统的演进
发布工程
简单化
具体实践
基于时间序列数据进行有效报警
on-call轮值
有效的故障排查手段
紧急事件响应
紧急事故管理
事后总结:从失败中学习
跟踪故障
测试可靠性
SRE部门中的软件工程实践
前端服务器的负载均衡
数据中心内部的负载均衡系统
应对过载
处理连锁故障
管理关键状态:利用分布式共识来提高可靠性
分布式周期性任务系统
数据处理流水线
数据完整性:读写一致
🚩 可靠的进行产品的大规模发布
发布协调工程师
Launch Coordination Engineering, LCE
- 审核新产品和内部服务,确保他们和Google的可靠性标准以及最佳实践一致,同时提供一些具体的建议来提升可靠性。
- 在发布过程中作为多个团队之间的联系人。
- 跟进发布所需任务的进度,负责发布过程中所有技术相关的问题
- 针对Google的最佳实践和各项服务的集成来培训开发者,充分利用内部的文档和培训资源来加速开发
优势
- 广泛的经验
- 跨职能的视角
- 可观性
建立发布流程
好的发布流程具有一些特征:
- 轻量级
占用很少的开发时间 - 鲁棒性
能够最大限度的避免简单的错误 - 完整性
完整的、一致的在各个环节内跟踪重要的细节问题 - 可扩展性
可以应用在很多简单的发不上,也可以用在复杂的发布过程中 - 适应性
可以适用于大多数常见的发布(例如在产品界面上增加新的UI组件),以及可以适应全新的发布类型(例如Chrome浏览器和Google Fiber的第一次上线)
取舍和平衡这些需求的手段:
- 简化
确保基本信息正确。不需要为所有的可能性做准备。 - 高度定制
有经验的工程师会针对每次发布定制流程 - 保证通用路径快速完成
识别出几类发布流程所具有的共同模式(例如在新的国家发布产品),针对这类发布提供一个快速简化通道。