Google运维基础设施:
1、系统管理软件 管理物理服务器 Borg Kubernetes
2、系统管理软件 存储 Colossus Bigtable Spanner Blobstore
3、系统管理软件 网络
4、其他系统软件 分布式锁服务 Chubby
5、监控与警报系统 Borgmon
6、软件基础设施 Stubby
7、软件基础设施 Protocol Buffer
8、研发环境 共享软件仓库
其他运维基础设施:
1、发布:发布工程是Google内部的一项具体工作。发布工程与产品研发部门的软件工程师(SWE),以及SRE一起定义发布软件过程中的全部步骤——包括软件是如何存储于源代码仓库中的,构建时是如何执行编译的,如何测试、打包,最终进行部署的。
2、测试
3、分布式共识系统:在构建可靠的、高可用的系统进程时,我们发现分布式共识系统适合用来维护某个强一致的系统状态。这个分布式共识系统主要解决了在不稳定的通信环境下一组进程之间对某项事情达成一致的问题。
4、分布式周期性任务系统
5、数据处理流水线
Google开源技术方案:
1、Kubernetes 开源容器化集群编排系统。
2、gRPC 是 Google RPC 框架。
3、Protobuf 是 Google RPC 的传输格式。
4、Bazel 是 Google 的一款可再生的代码构建工具。
《SRE Google运维解密》摘录
SRE Site Reliability Engineering 站点可靠性工程师
SRE 重点关注:
1 SRE是工程师:SRE使用计算机科学和软件工程手段来设计和研发大型、分布式计算机软件系统。
2 SRE的关注焦点在于可靠性:因为可靠性是如此重要,因此SRE专注于对其复杂的软件系统架构设计、运维流程的不断优化。
3 SRE的主要工作是运维在分布式集群管理系统上运行的具体业务服务。
Google SRE 核心方法论:
确保长期关注研发工作:Google 将SRE团队的运维工作现在在50%内。
在保障服务SLO的前提下最大化迭代速度:产品研发部门和SRE之间可以通过消除组织架构冲突来构建良好的合作关系。在企业中,最重要的矛盾就是迭代创新的速度与产品稳定程度之间的矛盾。正如上文所说,其表现形式可能是间接的。在SRE模型中,我们选择正面面对这种矛盾,使用的工具是错误预算。
监控系统:监控系统是SRE 团队监控服务质量和可用性的一个重要手段。
应急事件处理:可靠性是 MTTF(平均失败时间)和 MTTR(平均恢复时间)的函数。
变更管理:SRE的经验告诉我们,大概70%的生产事故由某种部署的变更而触发。
需求预测和容量规划:需求预测和容量规划简单来说就是保障一个业务有足够的容量和冗余度去服务预测中的未来需求。
资源部署;资源的部署(provisinging)是变更管理与容量规划的结合物。
效率与性能;高效利用各种资源是任何赢利性服务都要关心的。
正如书中所说
本书是由一系列短文组成,由 Google SRE 成员和前成员共同写就。相比之下这本书更像是一本会议文集。
本书逻辑逻辑上分为以下几个部分:理念性介绍(第二部分)、最佳实践(第三部分)和管理经验(第四部分)
建议重点阅读 序言 第一章 第二章 第三章