写在前面

最近花了一点时间阅读了《SRE Goolge运维解密》这本书,对于书的内容大家可以看看豆瓣上的介绍。总体而言,这本书是首次比较系统的披露Google内部SRE运作的一些指导思想、实践以及相关的问题,对于我们运维乃至开发人员都有一定的借鉴意义。

书中的一些思想也令我印象深刻,例如SRE工程师要保证投入50%的时间在项目上、错误预算、命运之轮、事故总结等等,对于从业者有很大的启发。书中提到了很多思想,也提到了很多工具,我想不同的单位有不同的文化、制度背景,这种指导思想未必能够执行,但是书中提到的工具,却有被其他人利用的可能。因此,我就整理了书中提到的一些工具以及搜索是否有对应的开源工程,整理成下面的列表供大家参考。

如果大家发现有不全的,或者对于某个工具希望深入讨论的,欢迎给我留言。

Google 技术栈

功能介绍 产品 对标的开源产品 备注
分布式共识系统、分布式锁服务 Chubby 书中描述为强一致性存储系统 ZooKeeper、Consul
监控服务 Borgmon Prometheus、Riemann、Heka、Bosun
Photon
分布式周期性任务系统 Cron
任务分发系统,集群管理系统 Borg
分布式文件系统 GFS
Mesos
管理报警响应及升级规则 Escalator
故障跟踪工具(被动收集监控系统发出的所有报警信息,同时提供标记、分组和数据分析功能) Outalator
数据流水线 MapReduce、Flume
大规模数据处理 Workflow Spanner ?
Incident Command System
构建系统 Bazel
分布式文件系统 GFS

Borg 调度服务(2003),开源产品 Kubernetes
Borg Name Service BNS 名称解析系统
Bigtable
Blaze/Bazel 构建
Rapid 发布
Midas Pacakge Management MPM 打包
Sisyphus 发布自动化框架
Chubby 强一致性存储系统
Prober 端到端检测(黑盒监控 Black Box Monitoring)
Protocol Buffer (Protobuf)
Alert Manager 报警管理服务
Dapper 分布式组件跟踪工具
Incident Command System 应急事件管理
IRC机器人
Dagger 依赖注入(Dependency Injection)工具
Protocol Buffer 数据交换格式
Auxon 自动化容量规划
gRPC Google RPC 框架
Doorman 协作性分布式客户端节流系统
Zipking 业务流追踪
Stackdriver

两点吐槽

一、绕口的翻译
P158:一个测试系统可以检测出一个MTTR为0的Bug。
P253:这种设计类型在服务领头人的工作量是分片的。
P327:Google几乎没有处理大规模消费者产品运行不能直接控制的客户端代码的经验。

二、强大的客户端

全书各章节及小评

章节及名称 感想
1 介绍
2 Google 生产环境:SRE视角
3 拥抱风险
4 服务质量目标
5 减少琐事
6 分布式系统的监控
7 Google 的自动化系统演进 自动化的价值,自动化的层次
8 发布工程
9 简单化
10 基于时间序列数据进行有效报警
11 on-call 轮值
12 有效的故障排查手段
13 紧急事件响应
14 紧急事故管理
15 事后总结:从失败中学习
16 跟踪故障
17 测试可靠性
18 SRE部门中的软件工程实践
19 前端服务器的负载均衡 不同数据中心之间的负载均衡策略最佳实践,基本的方案有DNS、VIP(网络负载均衡器 F5)
20 数据中心内部的负载均衡系统 从应用层面谈如何进行负载均衡,如何让各台服务器的使用率更加均衡,避免出现闲忙不均的情况。如何更准确的识别出后端的真实状态的方法:跛脚鸭状态。
21 应对过载
22 处理连锁故障
23 管理关键状态:利用分布式共识来提高可靠性
24 分布式周期性任务系统
25 数据处理流水线
26 数据完整性:读写一致
27 可靠地进行产品的大规模发布
28 迅速培养SRE加入on-call
29 处理中断性任务
30 通过嵌入SRE的方式帮助团队从运维过载中恢复
31 SRE与其它团队的沟通与协作
32 SRE参与模式的演进历史
33 其他行业的实践经验
34 结语

参考资料:
1、Google Borgmon
2、Google使用Borg进行大规模集群的管理-2015
3、基于 Prometheus 的数据库监控
4、Prometheus
5、Google Protocol Buffer 的使用和原理
6、Doorman: Global Distributed Client Side Rate Limiting
7、SRE Book notes
8、Zipkin
9、morgue 事故总结工具
10、Incident management at Google
11、TerraForm
12、

Google SRE 读书笔记 扒一扒SRE用的那些工具的更多相关文章

  1. 人生效率手册:如何卓有成效地过好每一天--By张萌姐姐--读书笔记

    读书笔记:<人生效率手册>:如何卓有成效地过好每一天--By张萌姐姐... 整本书看完的感受: 这本书主要讲的是生活中我们需要给自己一个目标,然后通过自己的努力去实现这个目标,书中说的很多 ...

  2. Android驱动开发5-8章读书笔记

    Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有 ...

  3. Web Scraping with Python读书笔记及思考

    Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...

  4. 远程办公《Remote》读书笔记:中国程序员在家上班月入过六万不是梦

    这不是一本新书,这是一本很值得中国程序员看的老书,所以我不是来做卖新书广告的:) 但它的确是一本好书,这本书在Amazon上3个business categories排第一.作者Jason Fried ...

  5. think straight系列读书笔记之《暗时间》

    一周一篇读书笔记,这是第零篇,为啥从零计数,你们懂的~   大二读了<暗时间>,这本书带我进入了心理学的大门,让我开始关注思维,专注,效率,认知,记忆等东西.两年之后重读这本书,依然收获很 ...

  6. 《Android开发艺术探索》读书笔记 (13) 第13章 综合技术、第14章 JNI和NDK编程、第15章 Android性能优化

    第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的set ...

  7. 读书笔记:《梦断代码Dreaming in Code》

    读书笔记:<梦断代码Dreaming in Code> 拿到<梦断代码>书后,一口气翻了一遍,然后又用了3天时间仔细读了一遍,也不禁掩卷长叹一声,做软件难.虽难,仍要继续走下去 ...

  8. web前端安全---读书笔记

    web前端安全---读书笔记 粗略的看完了Web前端黑客技术揭秘前两章了,由于自身的前端功力不深,当然也是初涉前端的安全问题,所以实话还是有些问题看不太明白的.在豆瓣看到的这本书,名字真心有点很肥主流 ...

  9. React 读书笔记

    序言: 领导安排部门同事本月内看一本跟自己职业相关的书籍, 根基类的书籍已经看过了,重复阅读的意义不大,所以我平时看的都是视频,也许是视频作者没有出书的条件,也许是现在出书看的人越来越少了,也许有其他 ...

随机推荐

  1. Dynamic Rankings || 动态/静态区间第k小(主席树)

    JYF大佬说,一星期要写很多篇博客才会有人看 但是我做题没有那么快啊QwQ Part1 写在前面 区间第K小问题一直是主席树经典题=w=今天的重点是动态区间第K小问题.静态问题要求查询一个区间内的第k ...

  2. VS2010中设置程序以管理员身份运行

    VS2010中设置程序以管理员身份运行 直接项目右键---属性---连接器---清单文件---uac执行级别 选择requireAdministrator 重新编译 即可 这样程序直接运行就拥有管理员 ...

  3. P2719 搞笑世界杯

    P2719 搞笑世界杯我觉得这个难度是假的,如果不知道这个是dp我就做不出来,好吧,知道我也没做出来..f[i][j]表示剩i张A票,j张B票时,最后两张票相同的概率.当前的队首有一半的概率选A,一半 ...

  4. [转]C++实现平衡二叉树

    作者:Rest探路者  出处:http://www.cnblogs.com/Java-Starter/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,请在文章页面明显位置给出原文 ...

  5. 使用ApiPost测试接口时需要先登录怎么办?利用Cookie模拟登陆!

    ApiPost简介: ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工具 . 下 ...

  6. UE4新手编程之创建空白关卡和添加碰撞体

    让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...

  7. [lisp] scheme环境搭建与编译运行

    搭建环境参考这篇 http://leochin.com/mac-scheme-install/ 用文本编辑器写代码 保存文件格式为 .scm 在终端中cd到scm文件所在文件夹, 执行  (cf &q ...

  8. linux驱动之LCD(无framebuffer)

    <简介> a:什么是液晶 物质一般有三态,固态,气态,和液态.这只是一种比较大致的划分,但是有些物质介于液体和固体之间——液晶.一般固体的分子或原子都由固定的排列方式,但是液晶介于固体和液 ...

  9. 喵哈哈村的魔法考试 Round #3 (Div.2) 题解

    A 题解:保证一个三角形的话,得两边之和大于第三边才行,所以都拿来判一判就好了. #include <iostream> using namespace std; int main(){ ...

  10. JavaScript学习历程和心得体验

    一.前言 在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证.浮动广告等,所以那时候JavaScript并没有受到重视.自从AJAX开始流行后,人们发现利用JavaScript可 ...