国外的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)拉入部落,和社区同仁一起探讨监控技术。