4.8 用户推荐指数
科技
类型
8.8
豆瓣评分
可以朗读
语音朗读
356千字
字数
2016-10-01
发行日期
展开全部
主编推荐语
本书针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。
内容简介
大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?
在本书中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存很大的软件系统。通过阅读本书,读者可以学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。任何一个想要创建、扩展大规模集成系统的人都应该阅读本书。
目录
- 版权信息
- 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 生产环境会议记录示范
- 参考文献
- 索引
- 关于编著者
- 封面介绍
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。