SRE 与 DevOps 有什么不同?

标签: dev | 发表时间:2020-07-29 00:00 | 作者:
出处:http://itindex.net/relian

SRE和DevOps有什么区别?您可能会说这很大程度上是语义问题,实际上,SRE和DevOps工程师扮演着相同的基本角色。

尽管如此,SRE和DevOps之间还是存在一些区别,即使是细微的区别。考虑到这两种角色在很大程度上具有相同的价值观和实践,它们似乎并不重要,但现实是,最终SRE和DevOps工程师满足了不同的需求。了解这些差异是确保您的IT团队尽可能高效地运营的关键。

什么是SRE?

SRE(Site Reliability Engineering)是站点可靠性工程或站点可靠性工程师的缩写,是指使用软件工程原理来帮助维护和管理IT系统。

至少,这就是 Google的SRE定义,这是在过去几年中推广该概念的公司。正如Google所说,SRE的目的是 像对待软件问题一样对待[IT]操作

这个想法是创新的,因为在传统上,大多数公司在主要负责维护软件的IT运维人员和主要负责编写软件的软件工程师之间存在很大的分歧。这两个小组不仅从事不同类型的工作,而且还以不同类型的方式解决问题。软件工程师倾向于专注于使用代码来解决所有问题,而运维则更习惯于使用各种工具(监视软件,配置管理工具,访问控制框架等)来管理日常工作和软件系统的日常操作。

SRE趋势有助于解释为什么像 基础架构即代码 (IaC)和 声明式配置管理近年来已成为IT系统部署和管理的流行方法。这些实践是使用代码的方式以及软件工程的原理来管理传统上使用不同工具和方法执行的IT流程。它们也恰好是非常适合自动化和可伸缩性的方法,这是SRE优先考虑的价值观。

什么是DevOps?


顾名思义,DevOps旨在弥合开发与IT运维之间的鸿沟。

DevOps背后的核心思想本质上是驱动SRE的相同思想:通过允许软件工程师(或开发人员,在大多数情况下基本上是同一件事)和IT运维人员之间更紧密的协作,使整体IT运维更加可靠和高效。。

像SRE一样,DevOps奖励自动化和可扩展性。尽管DevOps也有一些技巧,例如DevOps对话,但IaC之类的方法通常会出现在DevOps对话中CI / CD,与SRE紧密相关。

SRE VS DevOps

因此,在较高的层次上,DevOps和SRE具有相似的目标和广泛相似的方法。但是DevOps和SRE之间存在重要区别:

  • 开发人员扮演的角色:SRE使用开发人员的思维和工具来解决IT运营问题。因此,在SRE中,大多数事情都是从软件工程师的角度完成的。相比之下,DevOps更多地是要结合开发人员和IT操作工程师的技能,而不是使用前者取代后者;
  • 文化与实现:一般而言,DevOps倾向于将重点更多地放在文化目标和优先事项上,而不是特定的实施过程。不需要任何特定工具或方法即可执行"DevOps"。同样,也没有遵循SRE的特定脚本,但是与DevOps相比,SRE总体上提供了关于如何解决问题以及使用哪种类型的工具的更严格的规定;
  • 组织结构:在大多数情况下,DevOps不会取代现有的开发人员和IT运营部门或角色。公司可能会雇用一些DevOps工程师来帮助指导DevOps,但是他们并不会用DevOps工程师代替所有现有的IT角色。相反,SRE角色往往被视为至少替代IT操作的一种方式。(这是一个笼统的陈述,当然也有例外,但是总的来说,SRE涉及对组织结构的更大改变);
  • 扩展到其他IT角色:DevOps产生了一个大量分支将DevOps概念扩展到开发和IT运维之间。现在,通常会听到有关DevSecOps的讨论,例如,将DevOps应用于安全性的问题或QAOps,这将QA工程师带入DevOps领域。同时,SRE概念还没有看到这种广泛的使用。

SRE和DevOps之间有真正的区别吗?

尽管如此,很难完全解释SRE和DevOps之间的区别。一些观察者有争论差异并不足够大或不一致,不足以使其有意义。其他人可能会争辩说,SRE和DevOps的定义以及公司采用这些概念的方法差异很大,因此实际上不可能一开始就提供这两个术语的通用定义,更不用说清楚地阐明如何他们彼此不同。

这些观点是有价值的。不过,我确实认为,在总体上,使用SRE和DevOps的方式之间存在一些细微但重要的差异。这些概念不可互换,并且寻求为IT战略带来最大价值的公司可以从这两种战略中受益。

SRE使用一种以前仅应用于软件开发的方法,以一种实用的实施方式来帮助简化IT运维。同时,DevOps提倡更高层次的思考,以使整个IT组织更加高效和自动化,而又不将公司限制在一组狭窄的工具或方法论上。

最终,将SRE和DevOps视为截然不同的概念,并接受它们所提供的独特价值是有价值的。

之前也看到了刘征老师公众号发送的视频,这里也分享给大家:

英文原文:http://suo.im/6sMqO7

相关 [sre devops] 推荐:

SRE 与 DevOps 有什么不同?

- - IT瘾-dev
SRE和DevOps有什么区别. 您可能会说这很大程度上是语义问题,实际上,SRE和DevOps工程师扮演着相同的基本角色. 尽管如此,SRE和DevOps之间还是存在一些区别,即使是细微的区别. 考虑到这两种角色在很大程度上具有相同的价值观和实践,它们似乎并不重要,但现实是,最终SRE和DevOps工程师满足了不同的需求.

云端的SRE发展与实践

- - 美团点评技术团队
本文根据作者在美团点评第21期技术沙龙的分享记录整理而成. SRE(Site Reliability Engineering)是Google于2003年提出的概念,将软件研发引入运维工作. 现在渐渐已经成为各大互联网公司技术团队的标配. 美团点评作为综合性多业务的互联网+生活服务平台,覆盖“吃住行游购娱”各个领域,SRE就会面临一些特殊的挑战.

DevOps实践一:DevOps概述 - 知乎

- -
DevOps系列文章包含了本人在工作中的实践和认知理论,现总结并分享出来,希望能够给“迷你型”团队在DevOps上的实践提供一个“反面教材”和可行性建议. 本系列主要包含以下文章(过程中可能也会有所更改):. DevOps实践一:DevOps概述. DevOps实践二:持续集成、持续交付和持续部署.

让DevOps起作用

- - InfoQ cn
根据Neil Garnichaud在Dr. Dobb’s上发表的文章《 究竟什么是DevOps》,想要频繁地发布高质量的软件,首先需要弄清如何使开发人员、QA人员和运营人员在一起协同工作. 在软件公司里,特别是在开发基于云的网络应用, 而又缺少有才华的、合格的员工的公司中,压缩的时间进度和最低限度的QA是压力的根源.

DevOps,你真的了解吗?

- - IT经理网
与大数据和PRISM(NSA的监控项目之一),DevOps(开发运维)如今是科技人士挂在嘴边的热词,但遗憾的是,类似圣经,每个人都引用DevOps的只言片语,但真正理解并能执行的人极少. 根据CA的一项 调查,45%的受访者并不了解DevOps的含义,其余则有17%认为DevOps只不过是炒作. DevOps如今几乎成了创新的同义词,但其原本的含义却在业界的流传中被人们弃之脑后.

Kubernetes 会不会“杀死” DevOps?

- - InfoQ推荐
DevOps 这个概念最早是在 2007 年提出的,那时云计算基础设施的概念也才刚刚提出没多久,而随着互联网的逐渐普及,应用软件的需求爆发式增长,软件开发的理念也逐渐从瀑布模型(waterfall)转向敏捷开发(agile). 传统的软件交付模式(应用开发人员专注于软件开发、IT 运维人员负责将软件部署到服务器运行),再也无法满足互联网软件快速迭代的需求.

DevOps最佳实践(200711)

- - 人月神话的BLOG
今天准备谈下DevOps过程最佳实践以及DevOps支撑平台建设中的一些思考. 在前面文章里面我就已经谈到了传统企业IT架构转型或企业数字化建设需要解决两个方面问题. 其一:业务层面,重点是中台规划和建设. 其二:技术层面,重点是云原生解决方案,包括了微服务,DevOps和容器云. 当然,如果你是传统的软件开发框架技术,或者传统的基于虚拟机的PaaS平台也可以上DevOps实践,但是我们更加推荐的还是基于微服务和容器云技术来实践DevOps.

DevOps的“定义”:DevOps究竟要解决什么问题?

- - InfoQ - 促进软件开发领域知识与创新的传播
近些年来,DevOps 在我们身边出现的频率越来越高了. 各种大会上经常出现 DevOps 专场,行业内的公司纷纷在都招聘 DevOps 工程师,企业的 DevOps 转型看起来迫在眉睫,公司内部也要设计和开发 DevOps 平台……这么看来,DevOps 似乎无处不在. 可回过头来想想,关于 DevOps,很多问题我们真的想清楚了吗.

你的团队里没有DevOps文化?

- Quantum - LinuxEden开源社区-Linux伊甸园
本文是从 Do you have a DevOps Culture. 全球很多的系统负责人和程序开发者都在 撰写 、 聚会 和 讨论 关于DevOps的事:如何能更加有效的协作、让我们更快的创造商业价值. 阅读全文 | 邮件推荐 | 评论回复.

再谈DevOps实践和价值(12.11)

- - 人月神话的BLOG
今天再谈下DevOps过程实践和实际的收益价值问题. 对于DevOps先引用网上的一段总结如下. 这里我们先分析一下DevOps是什么. 大部分人对DevOps的解释都是从这个单词直译过来的就是开发运维一体化,其实这样理解很片面. 其实我们不难从Patrick提出DevOps的过程得出结论,DevOps的精准解释应该是通过敏捷的软件开发与敏捷的运维管理相结合达到业务的快速、灵活响应,也就是DevOps = Dev Agile Ops Agile.