什么是SRE? 现场可靠性工程师的重要作用

随着世界在线迁移,网站,云应用程序和云基础架构的可靠性已成为至关重要的业务,从电子商务运营到全球银行再到搜索引擎,这一切应运而生。

我们管理系统及其工作负载的方式已经改变。 如今,我们很少考虑使用珍贵的,高接触性,高性能的服务器,而是通过虚拟化将大量的商用服务器架设在一起,而分布式软件架构可防止服务器中断而导致停机。 重点已从硬件转移到软件定义的基础结构,从不一致和容易出错的手动过程转移到一致,可靠和可重复的自动化任务。

[ 同样在InfoWorld上:站点可靠性工程遇上发展难题的地方 ]

站点可靠性工程是维护该可编程基础结构并最大化其上运行的工作负载的可用性的一种做法。 站点可靠性工程师(SRE)的头衔起源于Google的大厅,在千年之交时,该大厅希望重新定义软件开发人员和运营人员之间的关系,并帮助他们共同构建坚固,灵活的系统,持续改进和自动化是核心原则。

什么是SRE?

从根本上讲,SRE将软件工程原理带入基础架构和运营问题,其北极星目标是创建高度可扩展且可靠的系统。

Google的工程副总裁兼SRE的教父Ben Treynor经常说:“从根本上讲,当您要求软件工程师设计操作功能时,就会发生这种情况。”

SRE职责中的主要职责是建立服务水平阈值,通常表现为服务水平目标(SLO),这有助于告知发布是否获得批准。 圣杯永远是神圣的“五个九”或正常运行时间的99.999%。 正常运行时间越长,绳索开发人员发布新产品的时间就越多,SRE获得的睡眠就越多,从而导致功能之间的互惠关系,与过去的开发人员和运营拮据相去甚远。

SRE功能通常将根据一组关键可靠性指标进行衡量,这些指标包括:系统性能,可用性,延迟,效率,监控,容量规划和紧急响应。

[ 也在InfoWorld上:应用程序监视:哪些devops可以做得更好 ]

SRE的关键工作职责

任何好的SRE都会特别着迷于一件事:自动化。

正如监控软件供应商New Relic的SRE的Jason Qualman在博客文章中指出的那样:“许多角色都在思考人们正在做的效率低下和耗时的事情,并尽快阻止他们。 您不是在费劲地从事手工工作,而是在说:“我现在要花时间使此自动化,并阻止其他人去做这件痛苦的事情。”

SRE角色的另一个关键要素是所谓的“发布工程”,它涉及定义最佳实践,以确保软件发布一致且可重复。

“发布工程师对源代码管理,编译器,构建配置语言,自动构建工具,程序包管理器和安装程序具有扎实的(如果不是专家的话)理解。 他们的技能包括对多个领域的深入了解:开发,配置管理,测试集成,系统管理和客户支持,”谷歌技术项目经理Dinah McNutt在开创性的《 站点可靠性工程》一书中写道(由O'Reilly于2016年,由Google员工Jennifer Petoff,Niall Richard Murphy,Chris Jones和Betsy Beyer撰写。

然后是角色的响应部分,其中包括警报,通话中和故障排除,以及紧急事件响应和事后验尸。

本质上,重要的是,SRE知道如何最好地监视系统并在出现问题时做出反应,不断编写和重写响应手册,以减少修复可能发生的故障的时间。 在Google,这涉及记录事件,了解所有导致根本原因的原因以及实施未来的预防措施。

Google员工John Lunney和Sue Lueder在《 网站可靠性工程》一书的贡献一章中写道:“撰写事后报酬不是惩罚,而是整个公司的学习机会。”

[ 同样在InfoWorld上:在IT运营中应用敏捷方法的3个步骤 ]

SRE与Devops工程师

我知道你在想什么 这听起来很像devop,但是就术语而言,SRE职位实际上比devop工程师早了大约五年。

两者都基于相似的原理,但是区别既微妙又重要。 两种工作方式都涉及打破开发人员和运营人员之间的障碍,并且两者都旨在提高开发人员团队的速度,同时保持这些服务的核心弹性。

关键的区别是,devops工程师倾向于专注于支持持续交付和开发人员速度,而SRE在整个软件生命周期中负责可靠性和自动化,重点是成功部署和监视发行版并保持软件定义的基础架构正常运转。 SRE在更广泛的工程团队中具有不可或缺的功能:确保在桌子上有一位专门负责构建稳定系统的专家。

正如The Devops Institute的Jayne Groll所说:“ Devops专注于工程持续交付到部署点; SRE致力于在客户消费方面进行工程连续运营。”

Google SRE的历史

将SRE原理追溯到2000年代初期在Google的起源,为该学科提供了关键的对象课程。

“当我来到Google时,我很幸运地成为了一个团队的成员,这个团队的一部分由软件工程师组成,他们倾向于使用软件来解决历史上手工解决的问题。 因此,当是时候成立一个正式的团队来进行这项运营工作时,自然而然地采取“一切都可以被视为软件问题”的方法,并以此来运行,” Ben Treynor在接受Google 内部博客采访时说。

“因此,SRE从根本上从事的工作是由运营团队来完成的,但是他们使用的是具有软件专业知识的工程师,并且基于这些工程师天生就具备自动化并可以代替人工的能力这一事实, ” Treynor补充道。

Google还非常认真地考虑如何组建SRE团队。 所有Google SRE必须是Google软件工程师或“非常接近Google软件工程资格的候选人”。 他们还必须具有基础架构管理技能,最常见的是“ Unix系统内部和网络(第1层到第3层)专业知识”。

各个公司的SRE资格仍然会有所不同,但是就基本原则而言,Google的方法是一个坚实的起点。 详细信息将取决于组织已经采用的业务需求,已建立的流程和技术堆栈。

[ 也在InfoWorld上:Dataops如何改善数据,分析和机器学习 ]

SRE职位描述和薪水

SRE通常花费大约50%的时间来执行传统的操作功能,例如待命和跳入以解决问题。 其余的50%专注于开发软件,以使基础系统随着时间的流逝而更具弹性,自动化和自我修复。 这就是为什么该职位需要将软件工程知识和操作技能紧密结合在一起的原因。 良好的SRE会井井有条,在压力下保持冷静,并解决问题。 SRE经理负责团队的绩效,战略和优化。

但是,对于那些不存在SRE角色的组织呢? 在O'Reilly报告中“ 什么是SRE? ”来自LinkedIn的Kurt Andersen和来自Split(发行管理软件供应商)的Craig Sebenik建议采用“草根”方法。 他们建议找到一个“开发团队,其动机是在那里改变和实施一个小型SRE团队(或个人)。 随着时间的流逝,您可以将成功作为其他团队的榜样。”

根据工作网站Indeed的数据 ,SRE的平均年薪在美国约为13万美元,在英国约为76,000英镑。

SRE资源

从DevOps Institute的认证O'ReillyMicrosoftGoogle的书籍和在线资源,都有丰富的资源来培养SRE技能。 上述550页的庞然大物网站可靠性工程詹妮弗Petoff,尼尔·理查德·墨菲,克里斯·琼斯和贝齐·拜尔是去到的话题,发表在2016年的大部头书也可从谷歌免费在线

其他有关该主题的最新书籍包括Jennifer Petoff的培训场所可靠性工程师 ,JC van Winkel和Preston Yoshioka。 什么是SRE? 由Kurt Andersen和Craig Sebenik撰写; David N. Blank-Edelman 寻求SRE ,Betsy Beyer,Niall Richard Murphy,David K. Rensin,Kent Kawahara和Stephen Thorne的《站点可靠性工作手册》

O'Reilly还拥有一个有关该主题的在线资产,视频和电子书的综合库,该库由前Google网站可靠性工程师Liz Fong-Jones精心策划在此SRE Essentials播放列表中

在线学习大师Coursera提供了几门课程,包括流行的“ 站点可靠性工程: Google Cloud Training中的测量和管理可靠性” 。 该课程也可以从Pluralsight获得,还有Elton Stoneman撰写的入门课程“ 站点可靠性工程(SRE):全局”。 Linux Foundation提供了一个名为DevOps和SRE基础知识:实现连续交付的自指导课程。

位于英国的水母培训为SRE Foundation(SREF)提供各种为期两天的私人培训课程选项。

进一步了解devops

From: https://www.infoworld.com/article/3537551/what-is-an-sre-the-vital-role-of-the-site-reliability-engineer.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值