开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

SRE 工程师到底是做什么的?

  • 2019-02-27
  • 本文字数:2625 字

    阅读完需:约 9 分钟

SRE工程师到底是做什么的?

尽管站点可靠性工程已经存在了一段时间,但也只是最近才在业界获得一些名声。但人们对于站点可靠性工程师(SRE)的作用仍然存在很多疑问。我们所知道的大部分内容来自谷歌的《站点可靠性工程》一书。我们将在这篇文章中多次提到这本书。


人们将 SRE 与运营、系统管理员等进行比较,但这种比较不足以说明他们在现代软件环境中所发挥的作用。他们承担的责任多于运营。他们通常具有系统管理背景,同时也具备软件开发技能。SRE 结合了所有这些技能,确保复杂的分布式系统能够顺利运行。


那么他们是怎么做到这一切呢?

自动化一切

自动化是 SRE 角色与传统运营团队之间的一个区别。在过去,运营人员会通过执行脚本、按下按钮和其他手动操作来让软件系统保持运行。然而,在 SRE 世界中,人们非常重视自动化。这种驱动力来自 SRE 角色的工程方面。


当软件开发人员处于日复一日重复相同功能的境地时,他们将被迫实现自动化。这就是软件开发人员最擅长的事情。自动化并不仅限于对软件构建和一些验收测试进行自动化,还包括 CI/CD 和基础设施的创建和修补,以及监控、警报和自动响应某些事件。在谷歌的《站点可靠性工程》一书中,这也被称为消除辛劳:


辛劳是一种与运行生产服务相关的工作,它往往是手动的、重复的、可自动化的、战术性的,缺乏持久的价值,并随着服务的增长呈线性增长。


那么为什么我们要如此关注如何减少辛劳呢?减少工作量不仅使流程可重复和自动化,而且还为 SRE 提供了更多的时间用于构建工具和研究基础设施变更以便进一步提高站点可靠性。总之,工作量越少,用于确保软件生态系统可靠运行的时间和资源就越多,你就能越快地实现业务价值。

监控分布式系统

随着分布式系统的普及,对监控的需求也在增长。仅仅启动和运行应用程序是不够的。我们还需要确保基础设施运行正常,并确保所有其他内部依赖项都可访问且运行正常。此外,应用程序的业务功能应该提供适当的监控功能,以验证它们是否运行正常。

提供待命支持

与传统的运营角色类似,SRE 也有轮班待命的职责。除了监控基础设施和他们自己的服务之外,开发团队还可以向他们咨询和请他们一起进行故障排除。


轮班待命看起来是怎样的?通常,SRE 根据计划表进行轮班待命,计划表可以让其他 SRE 专注于工程方面,而且不会导致轮班待命工程师感到倦怠。轮换待命可以从几天到一周不等,或者更长时间。


在发生高优先级的事件时,SRE 需要调查和诊断问题。他们还可能会要求其他工程师或软件开发人员一起来解决问题。根据系统的 SLA,他们可能需要一起工作才能在几分钟内解决问题。对于低优先级问题,SRE 通常会在工作时间内处理它们。对于那些不喜欢在凌晨 3 点钟起床的工程师来说,这是一个好消息。

管理事件

管理事件时 SRE 角色的另一个重要部分。你可能会说这与轮班待命没有什么两样。找到问题然后解决它,这能有多难?


好吧,在管理事件时,SRE 需要运用额外的专业技能来确保一切顺利。例如,在发生中断时,可能有很多方法来诊断和解决问题。因此,为了妥善管理事件,必须有人监督和促进所有相关人员的行为。这就需要定义明确的角色。


虽然并非所有公司都包含谷歌推荐的角色,但我们至少应该考虑它们。这些角色包括:


  • 一名事件指挥官,对所发生的一切都保持高度关注;

  • 处理或修改基础设施或系统的工程师;

  • 将正确的信息传递给客户和管理层的沟通者角色;

  • 负责规划会议、交接和后勤需求的规划者角色;

  • 如果 SRE 没有明确定义的角色,那么当他们在尝试不同的解决方案时,如果没有前期协调和沟通,就容易发生混乱。

事后调查

我们已经经历并解决了一个事件,现在准备好进行事后调查。通常,SRE 会促进或参与这些事后调查。


在进行事后调查时,所有相关方都被汇聚在一起​​,目标是分析事故期间都发生了什么,并找出根本原因。参与者还将决定将来如何防止或修复同样的事件。下面列出了事后调查将产出的内容:


  • 提高可靠性的故事或监控;

  • 附加文档,以协助未来事件的处理;

  • 进一步调查或测试,以证实与事件有关的任何假设。

跟踪中断

SRE 的另一个职责是跟踪中断。这最终有助于识别长期趋势和创建合理的 SLO 和 SLA。


跟踪中断的用途包括监控低优先级事件。这些事件可能不会给消费者带来真正的问题,但是观察长期趋势和时间可以帮助隔离和解决那些似乎找不到原因的烦人 bug。

与开发团队合作

除了在轮班待命期间为开发团队提供支持,SRE 还提供咨询和故障排除服务。这样可以帮助其他 SRE 团队和软件开发团队,这些团队苦于处理运营或可靠性问题。


在这种情况下,SRE 将评估当前问题,并确定哪些可以通过自动化或工程工作进行改进。SRE 还可为可靠性问题提出解决方案。最重要的是,SRE 将推动团队流程的变革。这些变化将确保站点可靠性工程团队能够增强团队交付价值的能力。

创建服务水平指标和目标

当你听到有人说服务已经达到或正在努力达到 99.99%的正常运行时间时,他们指的是服务水平目标(SLO)。服务水平指标(SLI)用于衡量这些目标。换句话说,SLI 是关于如何衡量 SLO 的协议。SRE 通过提供历史服务性能数据来协助这些工作。它们还有助于为未来提供切合实际的目标,并可能为客户提供适当的 SLA 建议。


然后,SRE 会确保你的应用程序满足(但不超过)规定的 SLO。现在你可能会认为没有超过 SLO 会很奇怪。然而,制造超出实际需要的东西是对资源的浪费。SRE 平衡了客户需求和所提供服务的目标。

职责可能会有所不同

在这篇文章中,我们讨论了站点可靠性工程师参与的各种活动。虽然这些活动是由 SRE 完成的,但并不是一成不变的。公司会根据需要改变 SRE 的角色和职责。一般而言,处于 SRE 过程不同阶段的公司可能有不同的需求。


例如,新公司可能需要 SRE 的支持才能控制一般性中断。大部分能量都趋向于可靠性的基本水平。但是,在这一过程中走得更远的其他公司可能已经消除了公司范围的中断。他们可能会花更多时间来改进或验证与业务相关的服务指标。例如,在网站的普遍可用性达到稳定和可靠的状态之后,你的披萨店应用程序可能需要对披萨推荐机制进行新的监控。

结论

正如你所读到的,SRE 将时间花在技术和流程方面的职责上。他们不仅仅是运营或系统管理团队。他们利用自己的工程技能自动化和减少管理任务所需的人工干预。此外,他们还与其他工程团队合作,提供适当的监控、事件响应和管理。


随着时间的推移,这些职能提高了分布式系统的可靠性并降低维护成本。最后,他们通过组织传播站点可靠性工程文化,让所有团队都能学会在做出决策时以可靠性作为出发点。


英文原文:https://www.scalyr.com/blog/site-reliability-engineer/


2019-02-27 14:1313780
用户头像

发布了 731 篇内容, 共 456.1 次阅读, 收获喜欢 2003 次。

关注

评论 1 条评论

发布
用户头像
这是用百度翻译的吗?😂
2021-08-12 19:56
回复
没有更多了
发现更多内容

DevOps VS 敏捷的区别是什么?

华为云PaaS服务小智

云计算 软件开发 云服务

限免福利!AI领航开工季 百度安全助力企业三重BUFF叠加

百度安全

深入探讨 Vue3 中的 setup 函数

Apifox

vue.js 程序员 前端 前端开发 Vue3

2024「ToB头条行业大会」正式启动!

ToB行业头条

tob 大会 北京 线下大会

通过API接口实现自动化数据同步

Noah

有哪些好玩的 Python 代码?

算法的秘密

Python python 3.5+

网站运营者必知!香港虚拟主机的五大优势,简直不可错过!

一只扑棱蛾子

AI大模型百舸争流背后,核心计算引擎是竞争关键

新消费日报

AI视频生成工具Sora横空出世!一文带你了解Sora:简介|主要功能|使用场景|平替工具等!

彭宏豪95

AI大模型 openai AIGC AI绘画 sora

开发者选择与实施低代码平台的终极指南

NocoBase

开发者工具 低代码 低代码开发 低代码开发平台 无代码平台

软件测试学习笔记丨Docker安装,容器管理和镜像管理

测试人

软件测试 自动化测试 测试开发

商品总监必备神器:智能商品计划管理系统如何助力服装企业突围?

第七在线

常用的制造企业网络优化方案

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

亿级月活游戏《迷你世界》全栈容器化实践分享

华为云开发者联盟

华为云 迷你世界 华为云开发者联盟 华为云CCE 后端全站容器化

SD-WAN:实现大型企业网络架构快速升级拓展

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

智能测试时代来临!人工智能如何颠覆测试开发传统模式?

测吧(北京)科技有限公司

测试

LLM 模型融合实践指南:低成本构建高性能语言模型

Baihai IDP

程序员 AI 白海科技 模型融合 mergekit

SD-WAN解决方案:企业异地组网挑战之视频会议

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

软件测试学习笔记丨MongoDB 数据库

测试人

软件测试 自动化测试 测试开发

ETL快速拉取物流信息

RestCloud

ETL 数据转换

技术革新助力业务飞跃:聚道云软件连接器实现财务与业务高效协同

聚道云软件连接器

案例分享

开年喜报!Walrus成功入选CNCF云原生全景图

SEAL安全

开源 运维 cncf Walrus

运维工作新时代:自主编码实现运维自动化的转型之旅

京东科技开发者

AI赚钱:时尚图文带货秘籍

派大星

副业赚钱 AI赚钱

SRE工程师到底是做什么的?_DevOps & 平台工程_Erik Dietrich_InfoQ精选文章