国外的SRE都是干啥工作的?薪资如何?

本文翻译自: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都是干啥工作的?薪资如何?的更多相关文章
- commit后数据库干的工作
用户提交commit后,数据库干的工作有: 1,oracle为用户的transaction生成一个SCN号. 2,LGWR把redo buffer中的数据写入到redo log file,同时把SCN ...
- python python中那些双下划线开头的那些函数都是干啥用用的
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
电脑用的好好的,突然出现了关闭随意窗体都提示"已停止工作",每次都是这样.想想也就是偶尔优化一下,近期也没有改动过什么系统设置呀,突然想到昨晚JLink_V8固件丢失 ...
- WEB服务器都在做哪些工作?
作为WEB开发人员,我们肯定应该要知道WEB服务器都在做哪些工作,这里简单列举一下,有时间然后详细说明. (1)建立连接——接受一个客户端连接. (2)接收请求——从网络中读取一条 HTTP 请求报文 ...
- 讲一下java,c语言,c+和c++都是干嘛的,他们运行的软件都是哪些
讲一下java,c语言,c+和c++都是干嘛的,他们运行的软件都是哪些 都是用于开发软件的,用于不同的方面.比如,淘宝的后台,是java做的.而腾讯的qq的后台服务器,是c和c++的.暴雪游戏的后台服 ...
- JS中new都是干了些什么事情
var Person = function(name){ this.name = name; this.say = function(){ return "I am " + thi ...
- Python爬虫入门教程 60-100 python识别验证码,阿里、腾讯、百度、聚合数据等大公司都这么干
常见验证码 之前的博客中已经解决了一些常见验证码的问题,但是验证码是层出不穷的,目前解决验证码除了通过常规手段解决以外,还可以通过人工智能领域的深度学习去解决 深度学习?! 无疑对爬虫coder提高了 ...
- 国外的教授都说,用这个方式21天就能学会python,这是中国速度
你尝试过吗?按照这个方式,用21天就能学会python编程. 在今年的疫情期间,在家的时间何止21天,有这样一位做财务的朋友,为了提高自己的数据分析能力,在家通过这个方式,跟着21天的规划,坚 ...
- java 输入输出IO流 IO异常处理try(IO流定义){IO流使用}catch(异常){处理异常}finally{死了都要干}
IO异常处理 之前我们写代码的时候都是直接抛出异常,但是我们试想一下,如果我们打开了一个流,在关闭之前程序抛出了异常,那我们还怎么关闭呢?这个时候我们就要用到异常处理了. try-with-resou ...
- 说说MySQL中的Redo log Undo log都在干啥
在数据库系统中,既有存放数据的文件,也有存放日志的文件.日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件. MySQL中的日志文件, ...
随机推荐
- 痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码). 痞子衡之前写过一篇文章 <J-Flash在Micron ...
- python基础(数据库、可视化软件Navicat、python操作MySQL)
多表查询的两种方法 数据准备: 建表 create table dep( id int primary key auto_increment, name varchar(20) ); create t ...
- Django路由层之路由分发 名称空间 虚拟环境 视图层之三板斧 JsonRsponse对象 request对象获取文件 FBV与CBV CBV源码剖析 模板层
目录 路由层之路由分发 路由层之名称空间 方式1:名称空间 方式2:别名不冲突即可 虚拟环境 pycharm创建虚拟环境 命令行形式创建虚拟环境 视图层之三板斧 HttpRsponse render ...
- Jmeter 跨线程组传参
某种情况下需要获取到上个线程组的返回值进行测试,但线程组与线程组之间是相互独立,互不影响.若要得到上个线程组的返回值,则可通过__setProperty()函数将所提取的值设置为jmeter 内置属性 ...
- JavaScript:操作符:赋值运算符和空赋值(??=)
=号是赋值运算,即返回符号右边的结果,同时将结果赋值给符号左边的变量,考虑下面代码的运行结果: 赋值运算b = 1 + 1,做了两件事,先返回符号右边的结果,即2,这个2将参与a = 1 + 2的计算 ...
- C# 正则表达式常用的符号和模式解析
〇.正则表达式的基本语法符号 若只简单匹配固定字符串,则无需任何修饰符,例如:需要匹配字符串 77,则可直接写:new Regex("77"). 下边例举一下常用的符号:(知道下面 ...
- [OpenCV实战]12 使用深度学习和OpenCV进行手部关键点检测
目录 1 背景 2 实现 3 结果和代码 4 参考 手部关键点检测是在手指上找到关节以及在给定图像中找到指尖的过程.它类似于在脸部(面部关键点检测)或身体(人体姿势估计)上找到关键点.但是手部检测不同 ...
- Google分布式文件系统GFS论文学习
GFS作为最著名的分布式文件系统,首先具备了大规模.可扩展.适配大文件.自动运维等高级特性.虽然是比较早期的分布式文件系统,但是它里面的设计思想还是值得现代分布式系统设计参考的,并且还有很多后期著名的 ...
- (一)elasticsearch 编译和启动
1.准备 先从github官网上clone elasticsearch源码到本地,选择合适的分支.笔者这里选用的是7.4.0(与笔者工作环境使用的分支一致),此版本编译需要jdk11. 2.编译 Re ...
- ArcGIS工具 - 按要素裁切数据库
在GIS处理数据中,经常需要分图,将整个任务区划分成若干块,由不同的人协作完成.为了节省分图裁切时间,减少人员操作失误,为源GIS专门制作了按要素裁切数据库工具,以提高数据生产效率. 需求描述 裁切单 ...