SRE和DevOps有什么区别?


57

SRE和DevOps有什么区别?

站点可靠性工程和开发运营似乎在细节上有很多重叠。我如何知道哪个小组负责什么工作,如何知道哪些工作适合我的技能?

看起来SRE是关于维护服务器和网络,而DevOps是关于维护代码,对吗?两者之间是否仍存在大量重叠?


3
我认为DevOps作为一个术语已被滥用,以至于在这一点上它什么都没有。
— 小鸡

1
我与之交谈的一家公司拥有SRE和DevOps团队。他们告诉我DevOps用于创建新应用程序(0-6个月),而SRE维护旧应用程序。两位都是使用自动化,编码和发布应用程序的开发人员。
— Paul Totzke '17

1
我认为,谷歌书SRE将是一个良好的阅读,了解它是什么:landing.google.com/sre
— 凯尔Steenkamp

Answers:


49

DevOps是关于维护代码的,对吗?

DevOps不仅仅与代码,系统或任何事情有关。DevOps是一个非常笼统的术语,涵盖了与软件交付相关的所有内容。

网站可靠性工程是Google推广的术语。通过本文https://landing.google.com/sre/interview/ben-treynor.html,我们可以提取其TL; DR:

从根本上讲,当您要求软件工程师设计操作功能时,就会发生这种情况。

运营,工程和软件开发一起变得模糊。创建和维护成熟的基础架构所需的自动化程度需要这三个方面的技能。骨相关事件是管理员,和工程师,和开发人员。

另请参阅:http : //shop.oreilly.com/product/0636920041528.do


6
DevOps不仅限于软件,这是一个误解。它应该一直与产品设计,产品要求,文档等联系在一起。它应该遵循从客户到客户的整个价值链。限制视图会减少影响,并最终导致人们误解了作为更高级的发布工程师的角色。
— 吉里·克鲁达

我还没有明白之间的区别DevOps Engineering和SRE work超越,一个是由谷歌开发,并通过一个很酷的(免费!)本书备份的缩写。
— BlackVegetable

站点可靠性工程师是实际职位和职务说明。它暗示着它所说的。可以在软件方面暗示DevOps的标题是Platform Engineer,您可以在其中构建和自动化供开发人员部署的平台。同时,SRE是负责过去典型操作的人员。这些有点轶事,但可能可以帮助您了解@BlackVegetable。
— Matt O.

1
有很多来自Seth Vargo和Liz Fong(在Google上)的YouTube视频。它们很清楚:“ SRE类实现DevOps。” SRE是遵循许多DevOps原则的具体,正规的实践。
— Dave Swersky


21

戴夫·斯沃斯基(Dave Swersky)在本·特雷诺(Ben Treynor)对SRE的定义上面已经做出了出色的回应,如今的定义与2003年一样令人发指。

从根本上讲,当您要求软件工程师设计操作功能时,就会发生这种情况。

因此,为进一步定义“ DevOps”,以下是Jennifer Davis和Katherine Daniels 撰写的有效的DevOps一书的摘录:

Devops是一种思维方式和一种工作方式。这是一个分享故事和发展同理心的框架。[不仅仅是]另一种软件开发方法。

[P]实践可以包括软件开发方法,或诸如基础结构自动化和连续交付之类的功能,尽管它不只是这些部分的总和。

尽管这些概念是相关的,并且可能在开发人员环境中经常出现,但仅关注它们却错过了更大的前景-文化和人际关系赋予开发人员强大的力量。

总结:有效的SRE将利用DevOps实践。

-

也:

我怎么知道哪个小组负责什么?

所有权不应隐含;通信!


17

站点可靠性工程或多或少地属于传统运营,但高度自动化且受版本控制,这也称为“ 基础结构即代码”。这是一个定义明确的垂直角色。在现代DevOps中,这是与操作相关的垂直切片。您可以拥有一个SRE团队。

这样的DevOps对组织来说是一种文化变革。除了垂直,自上而下的管理结构外,它还沿着整个价值链上的工作交付路径在团队之间建立了水平联系。对于工程师而言,这是一个松散定义的水平角色,将多个团队绑定在一起,以确保工作顺利,快速地通过整个组织。您不能拥有一个DevOps工程师团队,这是矛盾的,因为跨越团队边界是该角色的关键部分。


任何链接到相关资源的网站都将非常有用。
— kenorb

1

描述站点可靠性工程和DevOps之间差异的另一种方法是查看Wikipedia对a的解释Site Reliability Engineer,其解释如下:

站点可靠性工程师(SRE)是针对软件工程师的工作描述,重点是可靠性,可伸缩性和云计算基础架构的开发,这被称为站点可靠性工程(SRE)。

因此,您可以将SRE视为参与Building walls...

但是,维基百科的解释DevOps如下:

DevOps ...是一个术语,用于指代一系列实践,这些实践强调软件开发人员和信息技术(IT)专业人员之间的协作和交流,同时使软件交付和基础架构变更过程自动化。它旨在建立一种文化和环境,使构建,测试和发布软件可以快速,频繁且更可靠地进行。

并不是说所有这些DevOps实践实际上都是由业务方面的需求触发的。因此,结合构建和测试(其“ 开发”部分)以及软件发行版,DevOps涉及的是DDR(=需求-开发-发布)文化和环境,有些人可能会从这9秒钟的历史演讲中记住这一点。Tear down this wall。

请参阅有关计划于2017年5月3日(星期三)美国/美国东部时间(如计算机的消防演习)的短暂中断的问题,以获取有关所有SE网站的示例...由具有职位SRE Manager的用户发布(签名),Stack Overflow,Inc.


我不相信SRE涉及建造围墙的说法。你从哪里得到的?
— 熊加米奥夫

另外,汤姆·利蒙切利(Tom Limoncelli)不仅在Stack Exchange工作,而且闻名遐lot。
— 熊加米奥夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.