网站可靠性工程师

译者:秦晓辉@快猫星云 2023年2月26日

本文翻译自: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技术团队共同沉淀的结晶,作者做了编辑整理,我们会持续输出监控、稳定性保障相关的技术文章,文章可转载,转载请注明出处,尊重技术人员的成果。

标签: SRE
开源版
Flashcat
Flashduty