【译】SRE 实施的 6 个简单步骤

| 2023年4月28日

译说

这篇文章对 SRE 的落地实践讲解的非常不错,所以也是加入到学习计划中了,今天整理完整,感觉可以分享给大家一起学习。

但是这里说了 SLA,还没有介绍 SLI 和 SLO,还找到一篇文章对这块实践也介绍的比较好。

前言

站点可靠性工程SRE) 是一种管理和改进服务或应用程序的可靠性、性能和正常运行时间的方法。要实施 SRE,必须首先定义 SRE 团队的目的和目标,包括提高可用性和性能以及减少停机时间。接下来,确定 SRE 团队负责的服务和应用程序并确定其优先级。这可能包括核心业务服务、面向客户的应用程序以及数据库和网络等关键基础设施组件。此后,重点实施服务级别协议 (SLA),为每项服务定义可接受的可用性、性能和可靠性级别。使用这些 SLA 来衡量团队在实现这些目标方面的成功程度。一旦 SLA 确定了,就要建立一个具有必要技能和专业知识的跨职能团队来支持相关服务和应用程序。这可能包括软件工程师、系统管理员、网络工程师和其他专家。然后建设流程和工具,例如监控和警报系统、部署自动化工具和性能分析工具。最后,请记住优化是一个持续的过程,并不断审查和改进 SRE 团队的流程和实践,以实现预期的目标。这可能包括定期回顾、持续学习和培训,以及根据需要采用新技术和技巧。实施流程和工具,例如监控和警报系统、部署自动化工具和性能分析工具。最后,请记住优化是一个持续的过程,并不断审查和改进 SRE 团队的程序和实践,以实现预期的目标。这可能包括定期回顾、持续学习和培训,以及根据需要采用新技术和技巧。

定义 SRE 团队的目标

定义 SRE 团队的目标是实施 SRE 必不可少的第一步。这包括清楚地概述团队的目标是什么以及如何衡量成功。SRE 团队的一些共同目标包括:

  • 提高关键服务的可用性和性能:这意味着确保基本服务始终可用并以最佳水平运行。这可能涉及识别和解决可能导致中断或减速的潜在问题,并采取措施防止或减轻此类问题。
  • 减少从中断中恢复的平均时间:中断是不可避免的,但是从中恢复所需的时间会对业务产生重大影响。通过减少平均恢复时间 (MTTR),SRE 团队可以帮助最大程度地减少中断的影响并更快地使服务恢复在线。
  • 提高部署成功率:部署更新和新功能到服务可能是一个复杂且有风险的过程。通过提高部署成功率,SRE 团队可以帮助确保变更顺利实施且不会中断服务。

请务必注意,这些只是几个示例,SRE 团队的具体目标将取决于组织的需求和优先级。一旦定义了这些目标,SRE 团队就可以专注于实施实现这些目标所需的流程和工具。

为 SRE 确定服务和应用程序并确定优先级

确定 SRE 团队将负责的服务和应用程序并确定其优先级是实施 SRE 的重要步骤。此过程涉及评估组织的服务和应用程序,并确定哪些对业务最关键并且需要 SRE 团队最多的关注。SRE 团队可能优先考虑的一些服务和应用程序示例包括:

  • 核心业务服务:这些是对业务运营必不可少的服务,通常有组织内的大量人员使用。例如包括内部电子邮件系统或客户关系管理平台。
  • 面向客户的应用程序是客户直接使用的应用程序和服务,例如零售网站或手机银行应用程序。确保这些应用程序的可靠性和性能对于维持客户满意度和忠诚度至关重要。
  • 主干组件:这些是支持组织的服务和应用程序的基础结构组件。例如包括数据库、网络系统和存储系统。确保这些组件的可靠性和性能对于组织的整体运营至关重要。

请记住,SRE 团队负责的具体服务和应用程序将取决于组织的需求和优先级。一旦确定了这些服务和应用程序并确定了优先级,SRE 团队就可以专注于建设确保其可靠性和性能所需的流程和工具。

在 SRE 的服务级别协议中定义性能指标

服务级别协议 (SLA) 是描述供应商(在本例中为 SRE 团队)向客户预期(例如,服务或应用程序的用户)提供的服务级别的合同。在 SRE 的上下文中,SLA 为 SRE 团队负责的服务和应用程序定义了可接受的可用性、性能和可靠性级别。SLA 中可能包含的性能指标类型的一些常见示例包括:

  • 可用性:这是指服务或应用程序对用户可用的时间百分比。这可以根据正常运行时间来衡量,即服务或应用程序正常运行的时间百分比。
  • 性能:这是指服务或应用程序在速度、响应能力和效率方面的表现。
  • 可靠性:这是指服务或应用程序随着时间的推移正确且一致地运行的能力。

不要忘记,SLA 中包含的具体指标和目标将取决于组织的需求和优先级以及相关的特定服务或应用程序。一旦定义了 SLA,SRE 团队就可以使用这些指标来衡量他们在实现目标方面的成功并确定改进的地方。

在 SRE 中实施服务水平协议

一旦定义并实施了服务级别协议 (SLA),实施 SRE 的下一步就是建立一个具有必要技能和专业知识的跨职能团队来支持相关服务和应用程序。跨职能团队由具有各种技能和专业知识的个人组成,他们可以有效地合作以实现共同的目标。在 SRE 的背景下,这可能包括在软件工程、系统管理、网络工程和其他专业领域具有专业知识的个人。SRE 团队所需的特定技能和专业知识将取决于组织的需求和优先级以及团队负责的特定服务和应用程序。例如,负责支持面向客户的 Web 应用程序的团队可能需要具有 Web 开发和前端设计经验的软件工程师以及具有 Web 服务器和网络专业知识的系统管理员。建立一个跨职能团队是必不可少的,因为它允许团队利用广泛的专业知识和技能,这对于确保相关服务和应用程序的可靠性和性能是必要的。通过建立一个可以有效协作并利用每个成员技能的团队,SRE 团队可以更有效地支持组织的关键服务和应用程序。

开发和建设 SRE 的流程和工具

一旦定义了服务级别协议 (SLA) 并建立了跨职能团队,实施 SRE 的下一步就是开发和建设有助于团队的流程和工具实现其目的和目标。SRE 团队可能使用的技术和工具的一些示例包括:

  • 监控和警报系统:这些工具用于监控服务和应用程序的性能和可用性,并在出现问题时提醒 SRE 团队或其他相关方。这可能包括中断、时延增加或其他性能问题的警报。
  • 部署自动化工具用于将服务和应用程序更新和新功能的部署过程自动化。这可以降低出错的风险并提高部署的速度和效率。
  • 性能分析工具:这些工具用于分析服务和应用程序的性能,包括速度、响应能力和效率。这可以帮助 SRE 团队识别和解决可能影响服务性能的潜在问题。

请务必注意,SRE 团队使用的特定流程和工具将取决于组织的需求和优先级以及团队负责的特定服务和应用程序。通过建设正确的流程和工具,SRE 团队可以更有效地支持组织的关键服务和应用程序并实现其目标。

优化 SRE 实践

优化对于站点可靠性工程 (SRE) 的成功至关重要。为确保 SRE 团队能够持续改进并达到预期目标,审查和改进团队的处理流程和实践方法至关重要。SRE 团队可能用来优化其实践的一些方法包括:

  • 定期回顾:团队在会议中审查其流程和实践,并讨论哪些方面运作良好,哪些可以改进。通过定期进行回顾,SRE 团队可以确定需要改进的领域,并根据需要对其流程和实践进行更改。
  • 持续学习和培训:为了跟上 SRE 的最新技术和最佳实践,团队需要参与持续学习和培训。这可能包括参加会议、参加在线课程或参加专业发展计划。
  • 采用新技术和方法:随着 SRE 领域出现新技术和方法,团队可能有必要采用这些技术来保持竞争力和效率。这可能涉及评估新工具和技术,并确定它们如何改进团队的流程和实践。

通过不断审查和改进其流程和实践,SRE 团队可以确保它能够满足预期的目标,并有效地支持组织的关键服务和应用程序。

原文:https://medium.com/@l.halicki/6-easy-steps-to-sre-implementation-51cc24e6edbc