简介
编辑现场可靠性工程是一套原则和实践,包含了软件工程的各个方面,并将其应用于IT基础设施和运营。其主要目标是创建高度可靠和可扩展的软件系统。现场可靠性工程被描述为DevOps的一个具体实施。
历史
编辑现场可靠性工程领域起源于谷歌公司的Ben Treynor Sloss,他在2003年加入该公司后成立了一个现场可靠性团队。
2016年,谷歌雇佣了超过1000名网站可靠性工程师。2003年起源于谷歌后,这一概念传播到更广泛的软件开发行业,其他公司随后也开始雇用网站可靠性工程师。
这个职位在较大的网络公司比较常见,因为小公司的运营规模往往不需要专门的SRE。
采用这一概念的组织包括Airbnb、Dropbox、IBM、LinkedIn、Netflix和Wikimedia。
根据DevOps研究所2021年的一份报告,在对2000名受访者的调查中,22%的组织采用了SRE模式。
定义
编辑现场可靠性工程,作为一种工作角色,可以由单独的从业者执行,也可以组织团队,通常在一个更广泛的工程组织中负责以下方面的组合。
系统可用性、延迟、性能、效率、变更管理、监控、应急响应和容量规划。
现场可靠性工程师通常有软件工程、系统工程或系统管理的背景。
现场可靠性工程的重点包括自动化、系统设计和改善系统的恢复能力。
现场可靠性工程,作为一套原则和实践,可以由任何人执行。
SRE与安全工程类似,任何人都可以为良好的安全实践做出贡献,但公司可能决定最终为这项工作配备专家。
相反,为了确保互联网系统的安全,公司可以雇用安全工程师,为了定义和确保他们的可靠性目标,公司也可以雇用SRE。
现场可靠性工程也被描述为DevOps的具体实施,但它特别关注于建立可靠的系统,而DevOps则更广泛地关注。
一些公司已经将他们的运营团队改名为SRE团队,但却没有什么有意义的变化。这也被认为是对运营团队改名为DevOps团队的真实情况。
原则和实践
编辑已有多种尝试来定义网站可靠性工程原则的典型清单,但虽然缺乏共识,但大多数定义中通常包括以下特征。
自动化或消除任何具有成本效益的重复性工作。避免追求比严格意义上所需的更多可靠性。
定义什么是必要的本身就是一种实践。 系统设计偏重于减少对可用性、延迟和效率的风险。
可观察性,即能够对你的系统提出任意的问题,而不需要提前知道你想问什么。
现场可靠性工程实践也有很大的不同,但下面的列表相对来说至少是部分地被实施。
劳动管理是上述第 一条原则的实施。
定义和测量可靠性目标--SLI、SLO和错误预算。
以可靠性为重点的非抽象大规模系统设计(NALSD)。
设计和实施可观察性。
定义、测试和运行事件管理流程。
能力规划。
变更和发布管理,包括CI/CD。
实施,现场可靠性工程团队以各种形式与公司内的其他团队和SRE原则和实践接触。以下是对常见的SRE团队实施的高度概述。
厨房水槽,又称 "一切SRE" 涵盖的服务或工作流程的范围通常是无限制的。
基础设施
编辑专注于幕后系统的可靠性,帮助其他团队的工作更有效率。这通常与平台团队或平台运营团队相混淆。
基础设施SRE团队可能与一个或多个平台工程团队结成对子,但他们的不同之处在于。
基础设施SRE团队专注于执行上述原则和实践列表中描述的大多数工作。
平台团队倾向于专注于建立平台,虽然可靠性是理想的,但不是他们xxx的优先事项。
工具
编辑专注于测量、维护和改善系统可靠性的工具。例如,Nagios核心。
产品或应用的SRE团队为产品和应用。一些大公司倾向于配备几个这样的团队。
嵌入
编辑通常是SRE的单独从业者或在软件工程团队中配备的人员,以应用大部分的技术。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/192891/