SRE 简介,和 DevOps 的关系和异同

Martina Della Corte 2023年4月17日

在组织结构中引入网站可靠性工程(SRE)团队,在IT行业和DevOps领域越来越受欢迎。让我们在本文中探讨SRE流行的原因以及DevOps和SRE之间的区别和共同点。

在过去的二十年里,我们目睹了构建和交付软件的方式发生了巨大的转变。首先是敏捷文化,然后是 DevOps 革命,已经改变了技术组织的结构,它们可以被视为 IT 行业的事实标准。

众所周知,IT 是一个不断发展的行业,最近我们看到站点可靠性工程学科越来越受欢迎,尤其是在 DevOps 领域。但什么是 SRE? SRE 和 DevOps 之间的区别和共同点是什么?

DevOps

DevOps 文化有助于拆除软件开发和软件操作之间的壁垒,提供了一系列带来以下好处的想法和实践:

  • 更好的部门协作和沟通;
  • 更短的发布周期;
  • 更快的创新速度;
  • 更好的系统可靠性;
  • 降低IT成本;
  • 更高的软件交付绩效;

尽管这听起来很惊人,但仍有相当多的公司在将DevOps文化引入其组织方面遇到困难。原因是DevOps是一种思想而不是方法论或技术,这意味着它并没有说明如何成功实施良好的DevOps策略。

SRE

站点可靠性工程 (SRE) 是 2000 年代初诞生于 Google 的一门学科,旨在缩小软件开发和运营之间的鸿沟,并且完全独立于 DevOps 运动。SRE使用软件工程方法来解决运维问题。

SRE团队的主要关注点是:

  • 可靠性;
  • 自动化;

让我们深入了解这些方面。

可靠性

SRE的主要目标之一是“无论如何”使系统保持运行。为了实现这一目标,重要的是要记住故障和错误可能会发生。SRE学科通过专注于以下方面来拥抱它们:

  • 可观测性;
  • 系统性能;
  • 高可用性(HA);
  • 应急响应和灾难恢复;
  • 事故管理;
  • 从过去的问题中学习;
  • 灾害缓解和预防;

自动化

自动化所有传统手工执行的任务是SRE的另一个主要目标。自动化和软件工程被用来解决运维问题。

自动化在SRE中发挥着基础性的作用:它使我们能够摆脱系统过程和活动中存在的人为错误。有人可能会认为自动化无论如何都会引入系统漏洞,这是正确的,但有一个重要区别:可以测试自动化流程,但无法测试涉及人类活动的流程。

DevOps、SRE 的对比

正如我们所了解的,DevOps文化和SRE机制都旨在缩小软件开发和运维之间的鸿沟。以下是它们的总结,首先描述它们共同的目标以及它们最大的不同之处。

SRE 是一个类,实现了 DevOps 接口

如前所述,DevOps并没有提及如何成功地将文化引入组织中,因为它是一种思想意识形态。另一方面,SRE可以被视为实施DevOps哲学的方式。

事实上,尽管SRE的起源完全独立于DevOps,并且该学科提供了不属于DevOps的其他实践方法,但SRE实现了DevOps的理念。

责任和代码所有权

SRE 可以被认为是 DevOps 的下一个阶段,因为它专注于代码所有权:SRE 工程师接受在生产环境中拥有他们开发的代码的责任。这与 DevOps 有些不同,DevOps 中责任是共享的,旨在实现更短的发布周期并改善协作。

总结

在组织结构中引入网站可靠性工程(SRE)团队,在IT行业和DevOps领域越来越受欢迎。其流行的原因可以归结于该学科带来的好处:

  • 更好的部门协作和沟通;
  • 更短的发布周期;
  • 更快的创新速度;
  • 更好的系统可靠性;
  • 降低IT成本;
  • 更高的软件交付绩效;
  • 减少生产中的事故事件;
  • 代码所有权;
  • 自动化流程;

正如您可能已经注意到的那样,其中一些好处与引入DevOps文化到您的组织中所体验到的完全相同。

SRE可以被认为是实施DevOps文化的一种方式,其目标是使服务保持可靠。

本文是一篇译文,原始文章位置在这里:THE INTRODUCTION OF SITE RELIABILITY ENGINEERING (SRE)

关注 SRE 的朋友,大概率也关注稳定性,前段时间我们发布了《稳定性体系建设白皮书》,免费领取哈。

标签: SRE
开源版
Flashcat
Flashduty