本文翻译自:https://www.flagship.io/glossary/site-reliability-engineer/,意译~

众所周知,开发和 IT 运营之间因为屁股决定脑袋,存在巨大的鸿沟,而网站可靠性工程师(SRE)在开发和 IT 运营之间建立了一座桥梁,SRE 会承担原本属于 IT 运营的一部分工作,不过 SRE 的工作方式和传统的 IT 运营很不相同,SRE 有很强的研发能力,他们通过创建可扩展和可靠的软件系统来解决问题。

标准化和自动化是 SRE 工作的核心,特别是当系统迁移到云端时。因此,他们通常有软件或系统工程或系统管理的背景,有 IT 运营经验。

什么是网站可靠性工程?

在探讨网站可靠性工程师的角色和职责之前,我们先来定义一下什么叫网站可靠性工程。网站可靠性工程是一个由谷歌首次提出的术语,核心是 “把 IT 运营当作一个软件问题来对待”。

SRE 主要是为 IT 运营开发软件系统和自动化解决方案。SRE 做的是传统上由 IT 运营完成的工作,所不同的是,SRE 有软件专业知识,他们会利用这些知识来解决复杂的 IT 运营问题。

因此,网站可靠性工程可以被认为是一套实践,将软件工程的各个方面纳入 IT 运营,从而提高软件系统(IT 运营的运营对象)的效率和可靠性,改善工作流程。

SRE 与 DevOps

网站可靠性工程与 DevOps 密切相关,DevOps 是另一个将软件开发和运营联系起来的概念,可以被看作是 SRE 核心原则的概括。因此,SRE 在成功实施 DevOps 实践中发挥了很大作用。

此外,DevOps 和 SRE 都试图在运营和开发团队之间架起桥梁,以便更快地交付软件。

然而,谷歌的一篇文章对这两个术语进行了区分,指出 SRE “恰好体现了 DevOps 的理念,但对可靠性的度量和实现有更多的规范性,这些规范要在软件工程和 IT 运营工作中落地。换句话说,SRE 规定了如何在各种 DevOps 领域取得成功,尤其是在可靠性方面”。

网站可靠性工程师是做什么的?

网站可靠性工程师(SRE)在开发和运营之间工作。SRE 是一个具有 IT 运营经验和知识的软件开发人员。

这个角色的很多工作内容都是通过写代码来完成的,比如分析日志、测试生产环境,以及应对其他任何问题,所以 SRE 工程师将是一个编写代码的专家。

自动化做好了,业务研发人员就可以更专注在功能开发,就可以更快的把一些新的产品特性带入生产,让终端用户受益。

运营团队则会发现他们的工作量在减少,因为 SRE 会对任何反复出现的问题进行自动化解决。

SRE 工程师将在开发和 IT 运营工作之间进行转换,并保持两者之间的平衡。因为 SRE 工程师的主要工作是自动化,这意味着此类工程师会增强软件开发过程的性能、效率和监控。

所需的技能组合

SRE 致力于创建软件,以提高业务系统的可靠性,修复问题,并对事件和问题作出回应。因此,他们将需要各种技术技能。

他们将需要拥有各种自动化工具的知识,因为他们通常负责建立和整合软件工具,以提高组织系统的可靠性和可扩展性。

如上所述,SRE 将需要编码知识和大多数常见的编程语言,比如 Ruby, Javascript 和 PHP。

另外 SRE 还需要具备主要云供应商的专业知识,如 AWS 和谷歌云。

SRE 的日常角色和职责

自动化

如前所述,SRE 工程师建立自动化的工具来管理 IT 运营。因此,他们的目的不是手动执行这些功能,而是将它们自动化。这些功能包括

  • 持续集成和持续交付

  • 监测

  • 事件响应

  • 警报

监控

SRE 工程师负责确保底层基础设施的顺利运行,确保系统和工具按预期工作。他们还监测关键的应用程序和服务,以尽量减少停机时间并确保其可用性。

问题解决

这些工程师与开发人员紧密合作,特别是当问题出现时,他们将与开发人员合作,帮助排除故障,并在发出警报时提供咨询。

在开发人员遇到问题时,SRE 将进行调查,然后解决该问题。在事件解决后,SRE 将重新审视该问题并确定原因,以确保它不会再次发生。

跨团队协作

如上,SRE 需要跨团队协同,主要是 IT 运营人员和开发人员。通过建立可靠的系统为这些团队提供支持,这将使这些团队有更多的时间将注意力转移到建立新的功能上,从而更快地将这些功能推出给客户。

SRE 使用的常见工具

  • 监控:此类工具包括 AWS CloudWatch 和 NewRelic

  • 事件管理/待命:如 PagerDuty 和 VictorOps

  • 项目管理和问题跟踪:如 Jira 和 Trello

  • 基础设施协调:包括 Terraform 和 SaltStack

工多工具请参考《SRE工具列表

SRE 的收入是多少?

根据 payscale,这种类型的工程师在美国的年薪在 76,000 美元到 158,000 美元之间,平均年薪为 117,768 美元。

小结

SRE 工程师正在成为组织内一个越来越重要的角色。这是一个具有挑战性的角色,需要对编码和自动化有很高的热情。

在你的组织中拥有这样的工程师将有助于降低你的运营成本,同时提高系统的可靠性。

关于译者

本文译者秦晓辉Flashcat合伙人,文章内容是 Flashcat 技术团队共同沉淀的结晶,作者做了编辑整理,我们会持续输出监控、稳定性保障相关的技术文章,文章可转载,转载请注明出处,尊重技术人员的成果。

如果对 Nightingale、Categraf、Prometheus 等技术感兴趣,欢迎加入我们的微信群组,联系我(picobyte)拉入部落,和社区同仁一起探讨监控技术。

国外的SRE都是干啥工作的?薪资如何?的更多相关文章

  1. commit后数据库干的工作

    用户提交commit后,数据库干的工作有: 1,oracle为用户的transaction生成一个SCN号. 2,LGWR把redo buffer中的数据写入到redo log file,同时把SCN ...

  2. python python中那些双下划线开头的那些函数都是干啥用用的

    1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

  3. windows 8,关闭随意窗体都提示“已停止工作”的解决的方法

           电脑用的好好的,突然出现了关闭随意窗体都提示"已停止工作",每次都是这样.想想也就是偶尔优化一下,近期也没有改动过什么系统设置呀,突然想到昨晚JLink_V8固件丢失 ...

  4. WEB服务器都在做哪些工作?

    作为WEB开发人员,我们肯定应该要知道WEB服务器都在做哪些工作,这里简单列举一下,有时间然后详细说明. (1)建立连接——接受一个客户端连接. (2)接收请求——从网络中读取一条 HTTP 请求报文 ...

  5. 讲一下java,c语言,c+和c++都是干嘛的,他们运行的软件都是哪些

    讲一下java,c语言,c+和c++都是干嘛的,他们运行的软件都是哪些 都是用于开发软件的,用于不同的方面.比如,淘宝的后台,是java做的.而腾讯的qq的后台服务器,是c和c++的.暴雪游戏的后台服 ...

  6. JS中new都是干了些什么事情

    var Person = function(name){ this.name = name; this.say = function(){ return "I am " + thi ...

  7. Python爬虫入门教程 60-100 python识别验证码,阿里、腾讯、百度、聚合数据等大公司都这么干

    常见验证码 之前的博客中已经解决了一些常见验证码的问题,但是验证码是层出不穷的,目前解决验证码除了通过常规手段解决以外,还可以通过人工智能领域的深度学习去解决 深度学习?! 无疑对爬虫coder提高了 ...

  8. 国外的教授都说,用这个方式21天就能学会python,这是中国速度

    你尝试过吗?按照这个方式,用21天就能学会python编程.     在今年的疫情期间,在家的时间何止21天,有这样一位做财务的朋友,为了提高自己的数据分析能力,在家通过这个方式,跟着21天的规划,坚 ...

  9. java 输入输出IO流 IO异常处理try(IO流定义){IO流使用}catch(异常){处理异常}finally{死了都要干}

    IO异常处理 之前我们写代码的时候都是直接抛出异常,但是我们试想一下,如果我们打开了一个流,在关闭之前程序抛出了异常,那我们还怎么关闭呢?这个时候我们就要用到异常处理了. try-with-resou ...

  10. 说说MySQL中的Redo log Undo log都在干啥

        在数据库系统中,既有存放数据的文件,也有存放日志的文件.日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件.     MySQL中的日志文件, ...

随机推荐

  1. pyftpdlib中文乱码问题解决方案

    python实现简易的FTP服务器 from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import F ...

  2. 图书管理系统、聚合函数、分组查询、F与Q查询

    目录 图书管理系统 1.表设计 2.首页搭建.展示 书籍的添加 书籍编辑 书籍删除 聚合函数 Max Min Sum Count Avg 分组查询 按照表分组 按照字段分组 F与Q查询 F查询 Q查询 ...

  3. python 定时发送邮件

    import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart f ...

  4. pytest.ini配置文件格式

    [pytest] # 命令行参数,用空格分隔 addopts = -v -n=2 # 配置测试用例所在文件夹 testpaths = ./pytest_1 # 配置需要执行的模块文件名称 python ...

  5. python与数值计算环境安装

    数值计算的编程的软件很多种,也见过一些编程绘图软件的对比. 利用Python进行数值计算,需要用到numpy(矩阵) ,scipy(公式符号), matplotlib(绘图)这些工具包. 1.Linu ...

  6. [python] 基于Gradio可视化部署机器学习应用

    Gradio是一个开源的Python库,用于构建机器学习和数据科学演示应用.有了Gradio,你可以围绕你的机器学习模型或数据科学工作流程快速创建一个简单漂亮的用户界面.Gradio适用于以下情况: ...

  7. 在GCP上创建GCE的三种方式(Console,gcloud,Terraform)

    1 简介 如果要选择GCP为云平台,则经常需要创建GCE(Google Compute Engine),有以下几种方式: (1) 在浏览器创建 (2) 命令 gcloud (3) Terraform ...

  8. 低版本客户端连接高版本数据库报错ORA-28040、ORA-01017

    测试环境: 客户端:Oracle 11.2.0.1 服务端:Oracle 19.16 测试过程: 1.低版本客户端连接高版本数据库报错ORA-28040 2.低版本客户端连接高版本数据库报错ORA-0 ...

  9. Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算

    摘要:北京时间2023年1月9日,Volcano社区v1.7.0版本正式发布. 本文分享自华为云社区<Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算>,作者:华为云云 ...

  10. bash原样输出字符串中的换行

    ➜ code $ cat test.sh #!/bin/bash nr="`cat -`"\" echo "$nr" echo $nr echo &q ...