DevOps和SRE都是广泛使用的软件开发方法

资讯2020-08-27 15:40:47
导读如今,DevOps和站点可靠性工程(SRE)是IT界讨论最多的两个主题。这两个学科有时难以区分。DevOps计划的目的是将开发和操作流程结合起来,

如今,DevOps和站点可靠性工程(SRE)是IT界讨论最多的两个主题。这两个学科有时难以区分。DevOps计划的目的是将开发和操作流程结合起来,使它们无摩擦。SRE的目的是通过实施工程和运营的最佳实践来实现可靠性。简而言之,SRE提供了在不同DevOps场景中取得成功的解决方案。因此,这两个流不会相互竞争,而是提供各自解决方案中最好的解决方案,以实现软件开发的共同目标。

两者之间的混乱

DevOps和站点可靠性工程可能是最常用的软件开发方法。这两个词经常被人们混淆,但与此同时,它们也在很大程度上重叠。结果,他们毕竟没有那么不同。因此,我们需要了解更精细的细节,以区分它们并确定相似之处。

为什么选择SRE?

大约十年前,谷歌采取措施改变其进行生产管理的方式。研发团队负责为生产创建和推广新功能,而运营团队则致力于保持生产过程的稳定。但问题是,两支球队都朝着相反的方向前进。

在试图弥合这一差距时,确定了一种解决方案。软件工程师(具有研发背景)可以帮助两个团队协同工作,而不是让一个运营团队单独作为管理员工作。这是在创建现场可靠性工程师的位置时。

现场可靠性工程师的工作是创造一个稳定的生产环境,同时也迎合新功能的开发。团队通常由系统工程师和软件开发人员组成。工程师可以使用软件解决问题。他们还必须能够轻松地与开发团队集成。这背后的想法是提高代码和自动化测试的质量。SRE的价值很快被几个开始接受该学科的关键组织所识别。这些公司包括Netflix,Dropbox和GitHub。

为何选择DevOps?

DevOps运动的出现是因为它使开发人员能够编写代码而无需完全理解它在生产中的运行方式。这是一个最近的运动,可以帮助组织以敏捷的方式运作。开发团队和运营团队的知识和努力的结合旨在产生更灵活,可靠和强大的产品。

DevOps团队背后的想法是在敏捷软件开发中实现自动化系统,允许开发团队专注于提供新软件,同时也满足运营所需的功能和合规性原则。

有什么区别?

总的来说,SRE和DevOps都用于管理组织的生产运营。然而,两者都有明显的差异。DevOps主要发现问题,然后将它们发送给开发团队寻求解决方案。但是,SRE的目的是自己找到并解决其中的一些问题。DevOps团队将致力于保守地解决问题,使生产环境保持不变。然而,尽管维持了稳定的生产环境,但SRE通常会推动快速变更和软件更新。

DevOps通常不是一个角色。相反,它应该作为一个团队来完成。相反,SRE允许创建和维护高可用性服务。因此,它是分配给专业人员的角色。

DevOps的目标是专注于授权开发人员,以便他们可以使用可衡量的指标来构建和管理服务,从而帮助确定任务的优先级。SRE用于在部署后监视应用程序和服务,并实现自动化以改善系统的运行状况和可用性。

有什么相似之处?

虽然SRE和DevOps在其核心理念的基础上听起来不同,但它们实际上具有相同的成功定义。其中一些是:

减少组织孤岛的数量

提供一个可以接受失败的环境,也是可以预期的

逐步进行更改

利用自动化

监测成功

还应注意,SRE 可扩展以用于复杂框架的持续开发。同时,DevOps适用于频繁发布的代码,理想情况下是数字分发的产品。但是,这两者都存在于DevOps的范例之下。

SRE还优先考虑持续改进而不是持续发展。通过SRE,对现有程序的改进属于开发团队,其重要性与新版本一样重要。

竞争方法?

DevOps和SRE可能不被视为两种竞争方法,而是具有重叠区域的密切方法。它们旨在相互协作,以克服组织障碍,提供更快,更好的软件。

DevOps和SRE都是可由任何组织选择的不同操作方法。说一个是正确的或胜过另一个是不正确的。相反,这一切都取决于组织的理念和需求,同样,在选择方法时必须牢记这一点。

免责声明:本文由用户上传,如有侵权请联系删除!