SRE:Google运维解密

SRE:Google运维解密

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。

内容简介

大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?

在本书中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存很大的软件系统。通过阅读本书,读者可以学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。任何一个想要创建、扩展大规模集成系统的人都应该阅读本书。

作者简介

作者贝特西·拜尔,Google纽约负责SRE 的一名技术文档作家。她之前曾为遍布全球的Google数据中心与Mountain View硬件运维团队编写文档。在搬到纽约之前,贝特西·拜尔是斯坦福大学技术性写作课程的讲师。她曾经学习国际关系与英文文学,并在Stanford和Tulane获得学历。

章节目录

版权信息

O'Reilly Media,Inc.介绍

赞誉

译者序

前言

序言

第Ⅰ部分 概览

第1章 介绍

系统管理员模式

Google的解决之道:SRE

SRE方法论

小结

第2章 Google 生产环境:SRE视角

硬件

管理物理服务器的系统管理软件

其他系统软件

软件基础设施

研发环境

莎士比亚搜索:一个示范服务

第Ⅱ部分 指导思想

第3章 拥抱风险

管理风险

度量服务的风险

服务的风险容忍度

使用错误预算的目的

第4章 服务质量目标

服务质量术语

指标在实践中的应用

目标在实践中的应用

协议在实践中的应用

第5章 减少琐事

琐事的定义

为什么琐事越少越好

什么算作工程工作

琐事繁多是不是一定不好

小结

第6章 分布式系统的监控

术语定义

为什么要监控

对监控系统设置合理预期

现象与原因

黑盒监控与白盒监控

4个黄金指标

关于长尾问题

度量指标时采用合适的精度

简化,直到不能再简化

将上述理念整合起来

监控系统的长期维护

小结

第7章 Google 的自动化系统的演进

自动化的价值

自动化对Google SRE的价值

自动化的应用案例

让自己脱离工作:自动化所有的东西

舒缓疼痛:将自动化应用到集群上线中

Borg:仓库规模计算机的诞生

可靠性是最基本的功能

建议

第8章 发布工程

发布工程师的角色

发布工程哲学

持续构建与部署

配置管理

小结

第9章 简单化

系统的稳定性与灵活性

乏味是一种美德

我绝对不放弃我的代码

“负代码行”作为一个指标

最小 API

模块化

发布的简单化

小结

第Ⅲ部分 具体实践

第10章 基于时间序列数据进行有效报警

Borgmon的起源

应用软件的监控埋点

监控指标的收集

时间序列数据的存储

Borg规则计算

报警

监控系统的分片机制

黑盒监控

配置文件的维护

十年之后

第11章 on-call轮值

介绍

on-call工程师的一天

on-call工作平衡

安全感

避免运维压力过大

小结

第12章 有效的故障排查手段

理论

实践

神奇的负面结果

案例分析

使故障排查更简单

小结

第13章 紧急事件响应

当系统出现问题时怎么办

测试导致的紧急事故

变更部署带来的紧急事故

流程导致的严重事故

所有的问题都有解决方案

向过去学习,而不是重复它

小结

第14章 紧急事故管理

无流程管理的紧急事故

对这次无流程管理的事故的剖析

紧急事故的流程管理要素

一次流程管理良好的事故

什么时候对外宣布事故

小结

第15章 事后总结:从失败中学习

Google的事后总结哲学

协作和知识共享

建立事后总结文化

小结以及不断优化

第16章 跟踪故障

Escalator

Outalator

第17章 测试可靠性

软件测试的类型

创造一个构建和测试环境

大规模测试

小结

第18章 SRE部门中的软件工程实践

为什么软件工程项目对SRE很重要

Auxon 案例分析:项目背景和要解决的问题

基于意图的容量规划

在SRE团队中培养软件工程风气

小结

第19章 前端服务器的负载均衡

有时候硬件并不能解决问题

使用DNS进行负载均衡

负载均衡:虚拟IP

第20章 数据中心内部的负载均衡系统

理想情况

识别异常任务:流速控制和跛脚鸭任务

利用划分子集限制连接池大小

负载均衡策略

第21章 应对过载

QPS陷阱

给每个用户设置限制

客户端侧的节流机制

重要性

资源利用率信号

处理过载错误

连接造成的负载

小结

第22章 处理连锁故障

连锁故障产生的原因和如何从设计上避免

防止软件服务器过载

慢启动和冷缓存

连锁故障的触发条件

连锁故障的测试

解决连锁故障的立即步骤

小结

第23章 管理关键状态:利用分布式共识来提高可靠性

使用共识系统的动力:分布式系统协调失败

分布式共识是如何工作的

分布式共识的系统架构模式

分布式共识系统的性能问题

分布式共识系统的部署

对分布式共识系统的监控

小结

第24章 分布式周期性任务系统

Cron

Cron任务和幂等性

大规模Cron系统

Google Cron系统的构建过程

小结

第25章 数据处理流水线

流水线设计模式的起源

简单流水线设计模式与大数据

周期性流水线模式的挑战

工作分发不均造成的问题

分布式环境中周期性数据流水线的缺点

Google Workflow简介

Workflow中的执行阶段

保障业务的持续性

小结

第26章 数据完整性:读写一致

数据完整性的强需求

保障数据完整性和可用性:Google SRE的目标

Google SRE保障数据完整性的手段

案例分析

SRE的基本理念在数据完整性上的应用

小结

第27章 可靠地进行产品的大规模发布

发布协调工程师

建立发布流程

起草一个发布检查列表

可靠发布所需要的方法论

LCE的发展

小结

第Ⅳ部分 管理

第28章 迅速培养SRE加入on-call

新的SRE已经招聘到了,接下来怎么办

培训初期:重体系,而非混乱

培养反向工程能力和随机应变能力

有抱负的on-call工程师的5个特点

on-call之后:通过培训的仪式感,以及日后的持续教育

小结

第29章 处理中断性任务

管理运维负载

如何决策对中断性任务的处理策略

不完美的机器

第30章 通过嵌入SRE的方式帮助团队从运维过载中恢复

第一阶段:了解服务,了解上下文

第二阶段:分享背景知识

第三阶段:主导改变

小结

第31章 SRE与其他团队的沟通与协作

沟通:生产会议

SRE的内部协作

SRE内部的协作案例分析:Viceroy

SRE与其他部门之间的协作

案例分析:将DFP迁移到F1

小结

第32章 SRE参与模式的演进历程

SRE 参与模式:是什么、怎么样以及为什么

PRR 模型

SRE参与模型

PRR:简单PRR模型

简单PRR模型的演进:早期参与模型

不断发展的服务:框架和SRE平台

小结

第Ⅴ部分 结束语

第33章 其他行业的实践经验

有其他行业背景的资深SRE

灾难预案与演习

事后总结的文化

将重复性工作自动化,消除运维负载

结构化和理性的决策

小结

第34章 结语

附录A 系统可用性

附录B 生产环境运维过程中的最佳实践

附录C 事故状态文档示范

附录D 事后总结示范

附录E 发布协调检查列表

附录F 生产环境会议记录示范

参考文献

索引

关于编著者

封面介绍

SRE:Google运维解密是2016年由电子工业出版社出版,作者[美]BetsyBeyer。

得书感谢您对《SRE:Google运维解密》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
透视C#核心技术:系统架构及移动端开发 电子书
本书采用循序渐进的方式讲解C#及其在电商、ERP及手机APP方面的开发技术。
系统架构设计 电子书
适读人群:立志向系统架构师转型的广大开发人员本书包含作者基于自身在传统以及互联网行业多年的技术与管理工作经历展开论述,结合方法论和工程实践,具有较强的针对性和适用性,能帮助读者了解并掌握迈向架构师所需的各种知识体系和实践技巧。本书在介绍技术以及过程管理的内容时,采用“思路à方法论à工程实践”的三段式模型,不光告诉读者可以怎么做,更重要的是提供了对问题的分析以及解决思路和方法论,并辅以相应的工程实践和案例分析。本书从“向架构师转型”的角度出发,关注于转型这个特定主题给出了作者自身的一些思考和总结,从内容上填补了市场上的这一空白。
PHP动态Web开发技术 电子书
理论结合实践,教你学会PHP动态Web开发。
算法学习指南 电子书
本书深入阐述关键算法、数据结构、数据类型的基本原理。
分布式架构原理与实践 电子书
本书从软件结构的发展历史入手,描述了分布式架构的特性和存在的问题,并围绕这些问题展开了分析和实践。