SRE_Google

我们都知道Google公司的分布式系统设计和实现在业界遥遥领先,这些分布式系统多年前就已经运行在百万台服务器上, 很多公司也都在觊觎这么多服务器是如何运行和管理的。SRE就是运行和管理这百万台服务器和众多分布式系统的关键。

多年前,Google是通过发布技术论文帮助业界解决分布式难题的,如今各种分布式系统百花齐放,如何管理这些系统对传统的运维技术 和理念产生了极大的挑战。现在Google给我们带来了技术指导和最佳实践。

SRE是Site Reliability Engineer的简称,从名字可以看出Google的SRE不只是做Operation方面的工作,更多是保障整个Google服务的稳定性。 SRE不接触底层硬件如服务器,这也是高逼格的由来:Google 数据中心的硬件层面的维护工作是交给technician来做的,technician一般不需要有大学学历。

SRE在Google不负责某个服务的上线、部署,SRE主要是保障服务的可靠性和性能,同时负责数据中心资源分配,为重要服务预留资源。

Google SRE全球共计约1000人,负责运维Google的全球生产系统。同时,SRE还负责运维幕后那些全球首屈一指的计算基础设施,不管是 全球百万台级别的服务器集群,还是全球一流的网络架构,背后都有SRE的身影。

SRE是一群天生的怀疑论者,怀疑一切高大上的技术,只看具体的架构设计,实现细节,以及真实的监控图表。SRE在保障系统可靠性方面并没有 什么万能药,有的只是极强的务实态度。这种务实的态度决定了SRE会认真对待运维问题。

该书主要介绍了以下几点

  • 拥抱风险
  • 服务质量目标SLO
  • 减少琐事
  • 分布式系统的监控
  • Google自动化系统的演进
  • 发布工程
  • 简单化
  • 基于时间序列数据进行有效报警
  • on-call轮值
  • 有效的故障排查手段
  • 紧急事件响应
  • 紧急事故管理
  • 事后总结: 从失败中学习
  • 跟踪故障
  • 测试可靠性
  • SRE部门中的软件工程实践
  • 前端服务器的负载均衡
  • 数据中心内部的负载均衡系统
  • 应对过载
  • 处理连锁故障
  • 管理关键状态,利用分布式共识系统来提高可靠性
  • 分布式周期性任务系统
  • 数据处理流水线
  • 数据完整性,读写一致
  • 可靠地进行产品的大规模发布
  • 处理中断性任务
  • SRE与其他团队的沟通与协作
  • SRE参与模式的演进历程

Google公司面临的问题都是世界级的,所以都是自研系统,结合业务,高效运维。 并且可以看出Google的软件基础架构非常强大,首屈一指。以下是Google的软件基础架构系统。

  • Borg:分布式任务管理系统
  • Borgmon:强大的监控报警系统
  • BigTable:分布式Key/Value存储系统
  • Google File System:分布式文件系统
  • PubSub:分布式消息队列系统
  • MapReduce:分布式大数据批处理系统
  • F1:分布式数据库
  • ECatcher:日志收集检索系统
  • Stubby:Google的RPC实现
  • Proto Buffer:数据序列化存储协议以及RPC协议
  • Chubby:提供类似Zookeeper的服务

更多精彩内容请看SRE Google运维解密这本书籍吧。

邮件给我可以借阅哦。