站点可靠性工程师 (SRE):它们是什么以及它们如何工作?

现场可靠性工程师

站点可靠性工程 (SRE) 利用软件工程来自动化 IT 操作任务,例如生产系统管理、变更管理、事件响应和紧急响应,而系统管理员 (sysadmin) 则需要手动处理这些任务。 请继续阅读,了解有关站点可靠性工程师的职位描述、角色、薪资和认证的更多信息。

基本思想是 SRE 与手动干预相比,使用软件代码对大型软件系统进行自动监督是一种更具可扩展性和长期的解决方案,尤其是在此类系统增长或迁移到云端的情况下。

SRE 还可以显着减少或消除开发团队和运营团队之间自然产生的冲突,开发团队希望不断地将新软件或更新的软件发布到生产环境中,而运营团队则不想发布任何新软件或更新,除非他们确定自己会赢。不会导致中断或其他操作问题。 因此,即使 SRE 对于 DevOps 不是必需的,它也紧密遵循 DevOps 的理念,并且可以帮助 DevOps 取得成功。

Google 工程副总裁 Ben Treynor Sloss 被认为是 SRE 理念的提出者。 他因说过“SRE 就是当你要求软件工程师设计一个运营团队时发生的事情”而闻名。

现场可靠性工程师

站点可靠性工程师是具有 IT 运营知识的软件开发人员,即能够编码并且知道如何在大型 IT 系统中“保持正常运转”的人。

站点可靠性工程师将大部分时间用于创建自动化手动 IT 操作和系统管理任务的代码,例如分析日志、执行性能调整、应用补丁、测试生产环境、响应事件和进行事后分析。 随着时间的推移,他们希望在后者上花更多的时间,在前者上花更少的时间。

在更高层面上,SRE 团队充当开发和运营团队之间的纽带,允许开发团队尽快发布新软件或新功能,同时确保 IT 运营性能和错误风险达到商定的可接受水平根据公司与其客户签订的服务水平协议 (SLA)。 SRE团队根据专业知识和丰富的运营数据,协助开发和运营团队建立运营标准。

服务水平指标 (SLI)

系统的服务水平是通过可用性(正常运行时间)和延迟等指标来衡量的。

SLO,或服务级别目标

已商定的衡量服务水平的指标包括:

错误的预算

在最长的时间内,系统可能会发生故障或性能低于预期,而不会违反 SLA 的合同义务。 站点可靠性工程团队使用错误预算(这不仅仅是一个指标)来自动平衡公司的创新率与其服务的可靠性。

站点可靠性工程师职位描述

站点可靠性工程师的职位描述经常鼓励具有各种背景的人员申请,例如具有运营经验的软件工程师、具有编程专业知识的系统管理员、具有编码经验的IT运营专家、系统架构师和生产自动化经理。

监控、自动化和增强组织内部软件系统的性能、可用​​性和可靠性是 SRE 的职责。 他们的任务是预防问题、管理基础设施、开发有效的监控方法以及确保计算机系统正常运行。

如何撰写站点可靠性工程师的职位描述

一旦确定了该功能的一般职责和能力,就可以更简单地构建站点可靠性工程师的职位描述。

如果您专注于传达该职位的关键要素,将会有所帮助,例如:

  • 轮换待命人员以主动响应事件
  • 事件发生后创建操作日志,以便为事件响应开发自动化解决方案。
  • SRE工具用于监控基础设施,根据需要推荐工具。
  • 创建事件响应和监控警报机制。
  • 加强团队合作和操作流程
  • 通过编码实现 CI/CD 管道基础设施自动化
  • 随着解决方案的扩展,通过规划、构建和更新基础设施来保持可靠性。
  • 应表现出较强的编程能力和深入的系统理解。
  • 进行文化变革,为流程改革奠定基础。

如职位描述中所述,该职位的技术要求必须与该职位成功所需的软能力相平衡。

站点可靠性工程师角色

值得注意的是,站点可靠性工程师的角色很少需要新手,并且需要一些实践经验。 该职位需要对众多不同职能有战略性和实践性的理解,而这是通过纯粹的学术学习无法实现的。

站点可靠性工程师的工作角色将提到以下任务和职责:

#1. 软件开发专业知识

依赖手动和迭代过程的传统 IT 和产品站点经理在 SRE 中得到了更具可持续性和智能的替代。 他们需要创建有用且专门设计的软件来增强当前系统。 例如,站点可靠性工程师可能负责从头开始构建一个用于可穿戴设备自动警告的平台。 毕竟,操作是一个软件问题——这是站点可靠性工程的基本原则。 因此,SRE 需要了解软件开发并熟悉流行的脚本语言。

#2. 能够支持事件升级和故障排除

自动化或具有基本技能的人工服务台通常能够处理一级 IT 基础设施事件。 站点可靠性工程团队必须做好升级和更困难的故障排除的准备,因为并非所有问题都可以立即解决。 当一级和二级干预无法解决生产环境问题时,事件就会升级。 SRE 进入更高的层次,因此他们可以针对紧迫问题实施前沿解决方案。 为了避免将来发生类似的升级,他们还必须记录事件并创建自动响应。

#3。 程序和信息的记录

来自各个部门(包括软件开发、IT 运营、服务台一级和二级支持等)的跨职能专家将经常与站点可靠性工程师协作。 这意味着随着时间的推移,个人会形成大量通常未记录的信息。 如果没有文档,各部门将继续各自为政,只有某些人有资格执行某些工作。 因此,创建内部文档、手册和其他集中知识库来帮助当前团队和即将雇用的资源的职责已交给 SRE。

#4。 事件解决后的评估 

“事后分析文化”是站点可靠性工程师的关键原则之一。 这意味着问题或事件在解决后不会自动关闭。 相反,SRE 会调查导致事件的细节和情况,而不追究责任,以改善未来的基础设施并避免根本原因造成的中断。 进行事后审查需要一份包含重要细节的精心编写的事后分析文件。 时间和日期、利益相关者姓名、对用户和收入的影响、根本原因、经验教训和行动要点都将包含在文件中。

#5。 负载管理

用于平衡数据中心资源供应与流量和服务需求的过程和方法称为负载管理。 各种情况,例如意外的市场趋势或物理事故导致的需求激增,都可能导致服务可用性随时中断。 尽管物理上不可能实现 100% 的正常运行时间,但站点可靠性专家仍努力确保尽可能多的服务可用性。 他们必须使用在自动解决方案失败时介入的策略,例如终止开关和手动覆盖。 SRE 通常负责由三部分组成的负载管理系统,包括负载平衡、负载卸载和自动扩展。

#6。 数据处理系统知识

为了满足大流量和高带宽服务的三大需求,高效的数据处理管道至关重要。 当代企业将使用来自多种来源的数据,包括大数据。 为了支持应用程序功能或指导决策,站点可靠性工程师必须创建数据处理管道,将这些碎片化和无序的数据集转换为有组织的信息。 使用问题可能是由于管道中的延迟或缺陷造成的,并且需要花费大量的时间和工作来修复。 SRE 的职责是降低这些风险并为依赖数据处理管道的应用程序提供最高级别的服务可用性。

#7. 配置设计专业知识

软件系统必须定期正确设置,因为它们不是僵化的,并且会不断变化以满足流量和业务需求。 软件产品、数据集和运行服务的生产系统的配置管理是 SRE 职位的一部分。 配置设计必须优先考虑两个要素:简单性,让未来SRE团队以最少的工作量调整系统;可靠性,让用户享受高可用性和不间断的应用服务。 站点可靠性工程师可以创建工具来帮助在这种情况下进行配置创建和管理。

#8。 重新平衡工作负载的能力 

SRE 团队中的每位工程师都有适当的工作量来发挥他们的技能和能力。 因此,没有人负担过重。 然而,资源变化、假期和其他中断可能会导致任务不平衡。 由于 SRE 管理的关键业务基础设施无法容忍哪怕一天的中断,因此这是一个严峻的挑战。 工程师常常过度劳累,因琐碎的琐事而分心,并且在劳动力短缺时花在增加价值的开发上的时间更少。 为了管理工作负载,他们必须能够重组团队、调整工具或同时进行这两项工作。

站点可靠性工程师薪资

我们可以自信地说,站点可靠性工程师不仅要承担很多责任,而且任何想要避免彻底的数字灾难的组织都需要利用他们的才能和技能。 另一种说法是站点可靠性工程师可以赚很多钱作为薪水。 与任何工资辩论一样,对您的收入影响最大的因素是您的经验、地点和公司。

根据 ZipRecruiter 的数据,美国站点可靠性工程师的平均年薪为 130,238 美元。
据一位异常人士称,包括其他收入在内的中位数为 236,000 美元。 Gremlin 的年收入高达 450,000 万美元。

现场可靠性工程师认证

GSDC 提供的站点可靠性工程师认证是 SRE 技能和知识的证据。 它证明申请人有能力使用SRE技术、实践和概念来解决现实世界中的问题。

对于希望在站点可靠性工程领域提高工作机会并发展职业生涯的专业人士来说,站点可靠性工程师认证至关重要。 它使候选人在就业市场上具有竞争优势,并展示了他们对终身学习和成长的奉献精神。

对于希望确保其 SRE 能够管理和维护复杂系统的组织来说,站点可靠性工程师的认证也可能很有用。 它保证候选人能够创建、构建和运行满足或超过必要的服务水平目标的可靠系统。

在当今快节奏、复杂的技术环境中,GSDC 站点可靠性工程师认证对于个人和企业来说都是一笔巨大的财富。

它验证了 SRE 的能力和知识,并展示了对可靠性、可扩展性和性能的奉献精神。

SRE 在您的团队中适合什么位置?

站点可靠性工程师的角色和职责对于任何组织的人员、流程和技术的持续改进都至关重要。 站点可靠性工程在速度和可靠性方面提供了许多优势,无论您的团队已经采用了成熟的 DevOps 文化还是您仍在致力于变革。

SRE 自然地处于软件工程、运营和支持的纽带。 SRE 是加强 IT 和开发人员之间联系的理想能力组合,从而实现更快的反馈周期、更好的团队合作和更可靠的软件。

SRE是高薪工作吗?

根据 Glassdoor [103,480] 的数据,美国站点可靠性工程师的年薪中位数为 1 美元。 SRE 还可获得 22,321 美元的额外报酬,例如奖金或利润分享,年薪为 125,801 美元。

站点可靠性工程师会编码吗?

SRE 将投入大量时间来编写代码和创建允许工程师与基础设施进行通信的工具。 例如,SRE 可能会生成考虑长期性能的可靠性报告。

您需要 SRE 学位吗?

如果您想担任站点可靠性工程师,您必须完成学士学位课程。 雇主通常青睐那些拥有计算机科学学位的人。 这意味着您的大学前教育的重点将是计算机和计算机知识。

总结

站点可靠性工程可以带来哪些好处? 我们认为这是一个有凝聚力的元团队,一种跨团队协作,使每个人都朝着同一目标共同努力。 我们生活在一个互联的社会,技术正在增强我们而不是疏远我们。 在软件开发中,没有什么不同。

站点可靠性工程师将拥有其他职业中不常见的一定程度的自由和独立性,这是 SRE 的另一个重要方面。 如果您喜欢做实验或改变组织结构以提高系统可靠性,那么这个职业就适合您。 此外,您很可能会给同事的生活带来重大改变,这是一个不小的成就。

此外,您还将了解整个 IT 运营和软件开发学科。 这意味着,除了将不同的团队聚集在一起之外,您还将不断扩展您的技能组合。 因此,您不仅作为开发人员,而且作为经理也将得到提高。

参考文献:

发表评论

您的电邮地址不会被公开。 必填带 *

你也许也喜欢