SRE-Google运维解密随记-1

2023-05-16

雇佣系统管理员(sysadmin)运维复杂的计算机系统,是行业内一直以来的普遍做法。
这些系统管理员负责将现成的软件组件部署于生产环境中,对外提供某种业务服务。系统管理员的主要工作在于应对系统中产生的各种需要人工干预的事件,以及来自业务部 门的变更需求。随着系统变得越来越复杂,组件越来越多,用户流量不断上升,相关的 事件和变更需求也会越来越多。于是公司需要招聘更多的系统管理员,来应对日益增多 的事件。系统管理员的日常工作与研发工程师相差甚远,通常分属两个不同的部门:开 发部(Dev)和运维部(Ops)。
这种模型具有许多优势。对新公司来说,这种模式在行业内具有广泛的应用案例可供参 考。市场上具有相关从业经历的人也很多,招聘相对容易。

SRE团队成员具有如下特点:
(a)对重复性、手工性的操作有天然的排斥感。
(b)有足够的技术能力快速开发出软件系统以替代手工操作。

SRE的手段
监控系统是SRE团队监控服务质量和可用性的一个主要手段。所以,监控系统的设计策 略值得着重讨论。最普遍的和传统的报警策略是针对某个特定的情况或者监控值, 一旦 出现情况或者监控值超过阈值就触发E-mail警报。但是这样的报警策略并不是非常有效: 一个需要人工阅读邮件和分析警报来决定目前是否需要采取某种行动的系统从本质上就 是错误的。监控系统不应该依赖人来分析警报信息,而是应该由系统自动分析,仅当需 要用户执行某种操作时,才需要通知用户。

一个监控系统应该只有三类输出。
紧急警报(alert)
意味着收到警报的用户需要立即执行某种操作,目标是解决某种已经发生的问题, 或者是避免即将发生的问题。
工单(ticket)
意味着接受工单的用户应该执行某种操作,但是并非立即执行。系统并不能自动解 决目前的情况,但是如果一个用户在几天内执行这项操作,系统不会受到任何影响。
日志(logging)
平时没有人需要关注日志信息,但是日志信息依然被收集起来以备调试和事后分析 时使用。正确的做法是平时没人会去主动阅读日志,除非有特殊需要。

应急事件处理:
可靠性是MTTF(平均失败时间)和MTTR(平均恢复时间),系统恢复到正常情况的最有效指标,就是MTTR。

建设运维问题手册:
任何需要人工操作的事情都只会延长恢复时间。 一个可以自动恢复的系统即使有更多的故障发生,也要比事事都需要人工干预的系统可用性更高。当不可避免地需要人工介入时,我们也发现与“船到桥头自然直”的态度相比,通过事先预案并且将最佳方法记录 在“运维手册(playbook)”上通常可以使MTTR降低3倍以上。初期几个万能的工程
师的确可以解决生产问题,但是长久看来一个手持“运维宝典”经过多次演习的on-call 工程师才是正确之路。虽然不论多么完备的“运维手册”也无法替代人的创新思维,但 是在巨大的时间压力和产品压力下,运维手册中记录的清晰调试步骤和分析方法对处理 问题的人是不可或缺的。因此,Google SRE将大部分工作重心放在“运维手册”的维护 上,同时通过“Wheel of Misfortune”等项目法2不断培训团队成员。

变更管理:
大概70%的生产事故由某种部署的变更而触发。变更管理的最佳实践是使用自动化来完成以下几个项目:
●采用渐进式发布机制。
●迅速而准确地检测到问题的发生。
●当出现问题时,安全迅速地回退改动。
这三点可以有效地降低变更给SRE和最终用户带来的时间成本和服务质量的下降。通过将人工因素排除在流程之外,这些操作将不再受到经常发生在人身上的“狼来了”思想以及对大量重复性劳动的关注疲劳所影响。于是,变更执行的速度和安全性同时得到了提高。

需求预测和容量规划:
需求预测和容量规划简单来说就是保障一个业务有足够的容量和冗余度去服务预测中的未来需求。、一个业务的容量规划,不仅仅要包括自然增长(随着用户 使用量上升,资源用量也上升),也需要包括一些非自然增长的因素(新功能的发布、商业推广,以及其他商业因素在内)。
容量规划有几个步骤是必需的:
●必须有一个准确的自然增长需求预测模型,需求预测的时间应该超过资源获取的时间。
●规划中必须有准确的非自然增长的需求来源的统计。
●必须有周期性压力测试,以便准确地将系统原始资源信息与业务容量对应起来。
因为服务容量对可用性来说是极为重要的,很自然的,SRE应该主导容量规划的过程。 同时,这也意味着SRE需要主导资源部署的过程。

资源部署
资源的部署(provisinging)是变更管理与容量规划的结合物。资源的部署和配置必须能够非常迅速地完成,而且仅仅是在必要的时候才执行,因为资源通常是非常昂贵的。而且这个部署和配置的过程必须要确保能够正确地执行完毕,否则资源就仍然处于不可用状态。增加现有容量经常需要启动新的实例甚至是整个集群,这通常需要大幅度修改现有的集群配置(配置文件、负载均衡、网络等),同时还要执行一系列测试,确保新上线的容量可以正确地服务用户。因此,新资源的部署与配置是一个相对比较危险的操作,必须要小心谨慎地执行。

效率与性能
高效地利用各种资源是任何赢利性服务都要关心的。因为SRE最终负责容量的部署和配 置,因此SRE也必须承担起任何有关利用率的讨论及改进。因为一个服务的利用率指标 通常依赖于这个服务的工作方式以及对容量的配置与部署上。如果能够通过密切关注一 个服务的容量配置策略,进而改进其资源利用率,这可以非常有效地降低系统的总成本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SRE-Google运维解密随记-1 的相关文章

  • Google登录授权详细过程

    前言 这篇文章包含了google登录授权从API创建 到使用Java代码完成登录的一个完整demo 主要为了实现google关联用户的服务 如google merchant center等 如果仅仅需要使用google邮箱登录 建议由前端实
  • 使用jquery的 uploadify,在谷歌浏览器不支持flash插件的操作步骤

    google下支持flash控件操作步骤 我这边已经测试通过 google版本 67 0 3396 99 1 安装flash插件 https blog csdn net ghj1976 article details 5403588 2 设
  • PDF 的各种操作,我用 Python 来实现(附网站和操作指导)

    导言 PDF 处理是日常工作中的常见需求 包括 PDF 合并 删除 提取等 更复杂的任务如 将 PDF 转换成 图像 下面通过几个简单的例子和一份代码 帮助大家解决上面的需求 操作非常简单 在文末我会提供一份源码和一个神奇的 PDF 处理网
  • 谷歌免费域名邮箱申请全解

    谷歌google免费域名 企业 邮箱申请地址为 http www google com a cpanel domain new hl zh CN 点击进入填上姓名和邮箱等相关信息 国家选中国行不通 所以我选中国香港 电话号码要注意 我几次都
  • 谷歌技术"三宝"之BigTable

    谷歌技术 三宝 之BigTable 2006年的OSDI有 两篇google的论文 分别是BigTable和Chubby Chubby是一个分布式锁服务 基于Paxos算法 BigTable是一个用于管理结构化数据的分布式存储系统 构建在G
  • 震惊,微信小程序可以设置网络字体!真香

    准备工作 获取字体链接 还原设计稿的时候需要用到如下特殊字体 google 的 Montserrat https fonts google com specimen Montserrat 选择这个字体 下载全部字体 将本地的字体文件上传到自
  • 申请带@msn.com后缀的邮箱

    很多朋友总是抱怨申请msn邮箱时总是申请到 hotmail com的 为什么申请不到 msn com的呢 我从网上Google了一下 这个地址是申请简体中文MSN邮箱的 https accountservices passport net
  • 原来早就有java代码规范

    happy 最近几天 研究代码规范 想给给公司制定一个代码规范 公司很小 目前还没有代码规范 这个东西很烦人 也很难产生作用 小公司一般不采用吧 但现在为了提高代码质量 也就需要考虑了 今天 发现早在1997年 SUN公司就制定了java代
  • 谷歌身份验证怎么登录_使用Google登录身份验证用户

    谷歌身份验证怎么登录 I hate dealing with user authentication so I m very happy to make user management and authentication somebody
  • Google亲儿子 Nexus/Pixel 手机刷机Root之旅

    简介 本文介绍的方法是针对Google亲儿子的教程 其他国内厂商请绕道 1 解锁 1 1 OEM解锁 想要做下面这些事 需要先在开发者选项里打开oem解锁 如果你的手机是V版 运营商定制版 请看这里 oem解锁选项灰色 1 2 进入boot
  • 先后离开谷歌、雅虎后,梅姐的 AI 创业公司,再获两千万美金融资

    内容提要 硅谷一家创业公司 Lumi Labs 完成了近 2000 万美元的融资 这家鲜为人知的初创公司 凭什么能够拿下如此巨额的融资 这也许与其背后的大 boss 有关 它的创始人正是前雅虎 CEO 玛丽莎 梅耶尔 Marissa May
  • Distcc

    由于通过google git提取的android源代码没有配置分布式编译 需要借助一些工具搭建一个分布式编译环境来提升android编译速度 下面的步骤是在centos 5 2上进行的 我们可以参考一下 1 安装distcc RPM包 rp
  • word2vector学习笔记(一)

    word2vector学习笔记 一 最近研究了一下google的开源项目word2vector http code google com p word2vec 其实这玩意算是神经网络在文本挖掘的一项成功应用 本文是看了论文 Distribu
  • 比尔盖茨现身西雅图SAS 2007“治疗失眠”

    结束了4月18 21号的访华活动 比尔盖茨又现身在了西雅图5月8号开始的为时两天的第八届微软战略合作伙伴高峰会议上 Strategic Account Summit Conference 这次会议请来了众多重量级的大腕嘉宾 包括负责微软网络
  • Google前工程经理王忻:如何准备软件工程师的面试

    2010 10 20 10 48 4639次阅读 来源 伯乐在线 职场博客 已有0条评论 发表评论 关键词 Google 软件工程师 面试 作者 人力资源 收藏这篇资讯 导读 原文作者王忻 Google前工程经理 2003年月加入Googl
  • 讲述IT人的程序人生,IT人心声,职业生涯,职场规划,程序员爱情优美文章155篇

    讲述IT人的程序人生 IT人心声 职业生涯 职场规划 程序员爱情优美文章155篇 来自 http www ithao123 com itlife 1 程序人生 程序 烟 我的人生2 程序人生 做技术 切不可沉湎于技术3 程序员 不得不习惯一
  • Google人机认证解决方法

    针对Chrome浏览器 下载gooreplacer 下载地址1 下载地址2 安装 gooreplacer crx Chrome无法从该网站添加应用 扩展程序和用户脚本 将 crx后缀改为 rar 之后开发者模式安装 重定向网址 重定向 将网
  • 以一个最简单的例子把OO的JavaScript说明白

    OO的JavaScript并不高深 麻烦就麻烦在google出来的国人介绍文章经常罗罗嗦嗦 而且之间的说法还各有不同 摆在一起就让人看了头大 这里重拾简单主义 以一个最简单的例子把OO Javascript说明白 1 一个颇为精简的例子 只
  • 太不可思议了,我的文章居然有人转载

    今天无意间逛Google 发现有人转载我的垃圾文章 简直不可思议 http www newbooks com cn info 50429 html 本来是写起耍的 算是整理加一点实际经验写成的 让我又高兴又惭愧 惭愧文章写的差 高兴我的文章
  • 安装DirectXSDK时提示Error Code s1023

    向开发DirectX 3D游戏 就安装DirectX最新版 安装时遇到Error Code s1023 试了好多办法都不行 关掉所有程序还是不行 感谢伟大的Google在一个英文网站上提到如果安装了Microsoft Visual C 20

随机推荐

  • Qt开发遇到的坑---kalrry

    Qt开发遇到的坑 kalrry 一 依赖引入坑二 Qt在Debug时报错1 编译器是 MSVC 还是 MinGW 2 编译器 32位 还是 64位 三 Qt 43 MSVC编译后中文乱码四 不能将const char 类型的值分配到cons
  • Sinutrain下载安装与开启OPC UA---kalrry

    Sinumerik下载安装与开启OPC UA kalrry 前言一 安装前准备二 Win7安装1 软件安装2 开启授权3 文件配置4 客户端连接 三 Win10 11安装四 启动后使用五 启动OPC UA 前言 本教程只适用于 Sinutr
  • Qt第三方QCustomPlot的使用---kalrry

    Qt第三方QCustomPlot的使用 kalrry 一 参考博客End 例子 一 参考博客 QCustomPlot中图例的相关设置QCustomPlot使用手册QCustomPlot中图例的相关设置QCustomPlot更改图例legen
  • 【物联网树莓派毕设01】树莓派4B快速实现VNC连接

    一 前言 最近准备开始做毕设了 xff0c 想着找个地方记录一下遇到的问题 xff0c 怎么解决的 xff0c 希望能够给有需要的人一些帮助 xff0c 有什么问题还请指正 这次毕设选题是基于物联网技术的酒店管理系统 xff0c 其实是基于
  • 不忘初心牢记使命文化励志标语墙贴——个性一百剪纸

    不忘初心牢记使命手工剪纸 个性一百定制服务中心 xff0c 可快速定制各类家居家具用品 工艺礼品 图案造型 xff0c 提供从构思到设计到制作一条龙服务 xff0c 您敢想我们敢做 不忘初心牢记使命绘画贴纸 我们不局限于某种商品 xff0c
  • 动态建模——UML活动图

    1 活动图 xff1a 展示了动作或活动的执行步骤及结果 2 作用 xff1a xff08 1 xff09 描述在用例描述时 xff0c 用例的实例是如何让执行动作 xff0c 改变对象状态的 xff08 2 xff09 可以清晰的展示出活
  • 华为交换机常用命令(一)

    历史命名查询 display history command 配置主机名 sys sysname xxx 状态信息查询 display version display users 进入接口模式并查看信息 int g0 0 1 dis thi
  • NoSQL之 Redis配置与优化

    NoSQL之 Redis配置与优化 关系数据库与非关系型数据库关系型数据库和非关系型数据库区别 Redis简介Redis 安装部署Redis 命令工具Redis 数据库常用命令 Redis 高可用Redis 持久化RDB 持久化AOF 持久
  • MQ-2烟雾浓度传感器(STM32F103)

    本实验是通过串口调试助手显示STM32F103C8T6采集到MQ 2传感器的电压值 一 概述 1 简介 MQ 2可用于家庭和工厂的气体泄漏监装置 xff0c 适宜于液化气 丁烷 丙烷 甲烷 酒精 烟雾等的探测 它的优点是灵敏度高 响应快 稳
  • Java-异常

    什么是异常 xff1f 异常是指程序运行时 xff0c 导致正常流程被中断的事件 异常分类 可查异常 xff1a CheckedException xff08 要么try catch住 要么往外抛 xff0c 谁调用 xff0c 谁处理 如
  • 51单片机学习篇-- --蜂鸣器的使用

    开篇先说一句废话 本旺名字叫萨摩耶 xff0c xff0c Please 叫我旺财 xff0c xff0c xff0c 哈哈 xff0c 招财进宝嘛 xff01 蜂鸣器是个啥 蜂鸣器一般分为两种 xff0c 一种是无源蜂鸣器 xff0c 一
  • 51单片机学习篇-- --基于51单片机的串口通信协议

    开篇先说一句废话 本旺名字叫萨摩耶 xff0c xff0c Please 叫我旺财 xff0c xff0c xff0c 哈哈 xff0c 招财进宝嘛 xff01 开篇 计算机按照下行数据通信协议 xff0c 串口发送数据 xff0c 地址为
  • 卸载rancher出现的问题

    卸载rancher出现如下报错 error unable to retrieve the complete list of server APIs custom metrics k8s io v1beta1 the server is cu
  • docker审计日志过大导致磁盘IO

    问题 xff1a 节点发生磁盘io 节点审计日志量较大 xff0c 由于操作系统内核缺陷 xff0c 会低概率出现io卡主 影响版本 xff1a v1 15 11 v 1 17 9 查看节点是否有问题 1 登录节点 2 如果有类似下图的回显
  • linux 环境命令随记

    sh steve bourne bash bourne again shell gpl centos和ubuntu 默认使用 csh c shell C语言风格 tcsh ksh xff1a korb shell aix默认shell zs
  • sed命令的使用

    sed命令 格式 sed 选项 脚本命令 文件名 选项 n 使用安静silent模式 在一般sed的用法中 xff0c 所有来自stdin的内容一般都会被列出到屏幕上 但如果加上 n参数后 xff0c 则只有经过sed特殊处理的那一行 或者
  • docker安装和info信息

    docker 容器的历史 xff1a 1 Chroot Jail 就是我们常见的 chroot 命令的用法 它在 1979 年的时候就出现了 xff0c 被认为是最早的容器化技术之一 它可以把一个进程的文件系统隔离起来 2 The Free
  • docker镜像管理

    docker镜像管理 镜像结构和原理 镜像就是创建容器的模版 xff0c 含有容器启动所需要的文件系统及所需要的内容 xff0c 因此镜像主要用于方便和快速创建启动容器 镜像结构 xff1a 一个典型的 Linux文件系统由 bootfs
  • 容器操作基础命令随记

    容器操作基础命令 命令周期 一次性启动容器docker run 一次性运行容器 xff0c 退出后立即删除 xff0c 用于测试 root 64 localhost docker run rm alpine cat etc issue We
  • SRE-Google运维解密随记-1

    雇佣系统管理员 sysadmin 运维复杂的计算机系统 xff0c 是行业内一直以来的普遍做法 这些系统管理员负责将现成的软件组件部署于生产环境中 xff0c 对外提供某种业务服务 系统管理员的主要工作在于应对系统中产生的各种需要人工干预的