Uber大型分布式系统可靠性运维实践(14)

有了SRE团队 , 该团队可以让所有工程师更轻松地进行大型分布式系统的运营 。 SRE团队可能拥有标准的监控和告警工具 。 通过购买或构建呼叫工具 , 建立呼叫最佳实践的团队 。 通过促进事件审查和构建系统 , 以便更容易地检测 , 减轻和预防服务中断 。 通过推动故障转移演练、黑盒测试 , 并参与容量规划 。 他们会推动选择 , 定制或构建标准工具 , 定义和衡量SLO并对生成相关报告 。

鉴于各公司有不同的领域痛点来寻求解决SRE , SRE组织在各公司之间也是大有不同 。 其名称也会略有不同以称为运维 , 平台工程或基础结构 。 谷歌已经出版了两本关于网站可靠性的必读书籍 , 并免费提供的下载和阅读 , 大家可以下载学习 。

持续投资的可靠性

在构建任何产品时 , 构建第一个版本只是万里长征第一步 。 在v1之后 , 不断通过迭代添加新功能 。 如果产品成功并带来业务成果 , 那么工作就会继续 。

分布式系统也具有类似的生命周期 , 但是需要更多投资 , 不仅仅是功能 , 而是要跟上扩展的规模 。 随着系统开始承受更多负载 , 存储更多数据 , 有更多工程师为其工作 , 需要持续关注以保持平稳运行 。 许多人第一次构建分布式系统时假设这个系统就像一辆汽车 , 一旦建成 , 它每隔几个月就只需要必要的维护 。 这种想法是完全错误的 。 更贴切的例子是把运行分布式系统想象为运营像一个医院这样的大型组织 。 为了确保医院运作良好 , 需要持续验证和检查(监测 , 告警 , 演练 , 黑盒测试) 。 新员工和设备(新工程师和新服务)需要持续增加 。 随着人数和服务数量的增长 , 旧的做事方式开始变得低效 , 就像农村的一个小诊所与大城市的大医院的差异一样 。 提出更有效的工作方式成为一项全职工作 , 衡量和报告效率变得非常重要 。 就象是大医院需要更多的支持人员 , 如财务、HR和保安等 。 运营较大的分布式系统同样依赖于支持团队 , 如基础设施和SRE 。

推荐阅读