DevOps正在改变“发布”这个词的含义

发布于:2021-02-20 00:00:19

0

171

0

DevOps 交付团队 操作职责

Ops变得过时,并且与安全性的对话也在改善,在用户大会上我们了解了DevOps世界中发生的一些令人着迷的变化。

张三:DevOps真的可以增加和改善安全性吗?

李四:这里有几个问题。首先,如果您将其视为“ dev plus ops”,它会有所帮助,将dev和ops结合在一起以改善两者的性能和协作。我们在安全性方面也遇到了类似的问题。安全在它自己的世界中已经关闭。它们并没有完全集成到开发或运营组织中。他们不会使用与开发人员和操作人员相同的工具。在某些情况下,它们只有自己使用的私有工具,因为他们想让它们保密。但是现实是,就像客户体验会从更快的反馈中受益一样,安全性也会从更快的反馈中受益。不断测试代码以应对已知的安全威胁对于了解您所面临的风险至关重要。因此,您可以将其更多地构建到自动化管道中,

您可以将代码扫描内置到交付管道中,以便不断寻找已知的编码错误。然后还有其他一些事情-例如,许多安全威胁是由未修补的漏洞造成的。修补程序可用,但是操作人员并没有为系统打补丁,因为它们是手动完成所有操作。因此,如果他们具有自动化的环境管理功能,则可以一直保持所有系统的更新和修补。这只是他们正常交付过程的一部分。

因此,这是不同技术的结合,但实际上第一步只是使开发人员,操作人员和安全人员互相交谈,并意识到他们确实有相同的目标-良好的客户体验。因此,安全是其中的一部分,开发是其中的一部分,而运维是其中的一部分。

这当然是DevOps做得很好的事情之一–开辟了新的沟通渠道……

是。但是,仅仅谈论是不够的。有一些重要的特定做法。

因此,DevOps逐渐成为IT领域的主流概念。DevOps世界现在正在发生什么?

我们看到越来越多的人对DevOps感兴趣并在组织中渗透。这种做法在许多组织的移动和云部门中很普遍。首席信息官正在关注那些交付速度更快的团队,并说我们希望其他人变得更像那样。他们还面临来自竞争对手和客户的越来越多的威胁,这些竞争对手和客户现在对选择服务和产品的人有更多选择。为了使声音听起来有些戏剧性,很多CIO担心交付速度太慢以及质量有多差。这是不利的一面。

但是其他人则更积极地看待它。我们一直想与企业坐在一起,成为真正的贡献者。现在,开发人员终于有了一些更快交付的方式。由于交付周期为12个月,因此很难为业务做出真正的贡献。但是在一个月或更短的时间内,它开始改变游戏规则。

这是目前正在改变的另一件事:“释放”一词的含义。

正确。有两个方面。因此,如果您查看真正做到这一点的真正先进的公司,那么他们一直在发布,但是他们发布的是API更改或新API,然后逐渐积累了足够多的这些更改,他们便可以启用某个功能,或者他们可以开启新功能。因此,传统组织所做的就是将发布软件的想法与可用的新功能结合在一起。

但是在更快的发布周期中,更多的模块化体系结构,诸如服务和微服务之类的东西使您能够将它们分离。现在,您可以使用功能切换和框架之类的功能在业务需求周期中更多地打开和关闭功能,而与技术软件发布事件无关。

DevOps和持续交付通常可以互换使用。您如何区分DevOps和CD?

是的 我将DevOps视为一个哲学概念,它表示Dev和Ops应该一起工作,但是对于他们应该做什么应该是模糊的和不确定的。因此,它是许多不同实践和活动的总称。连续交付是一组非常具体的实践,主要围绕着拥有自动交付管道以及具有支持该软件交付的处理和工具的实践。

哲学概念与特定过程

但是DevOps中的某些内容可能不在CD范围内,例如通常具有举行啤酒和比萨饼聚会以使人们互相交谈的价值。尽管这很重要,但是在CD中,我们正在谈论一些非常特殊的事情。通常由CI触发的过程最终会导致至少在阶段测试环境中部署(如果不是在生产环境中)

从广义上讲,我认为从某种意义上说,作为独立组织的运维不复存在。因此,让我们看一下过去投入运营的内容–我们已赋予他们保持机器和网络运行,维护应用程序以及有时进行基础设施安全的责任(尽管现在这已成为一项独立的专长)。在某些组织中,他们实际上没有人要维护机器,因为他们实际上是在使用第三方云提供商。但是剩下的是,您仍然必须能够配置这些环境,仍然必须管理这些环境,并且仍然必须将软件部署到这些环境。

NoOps的建议是,这些责任应由交付团队来承担。我专门使用该术语来代替“开发团队”,因为有一个“交付团队”负责交付这些新功能或更改的功能。他们对环境,管理和环境配置方式负有一些运营责任。假设您正在使用内部云,在某处有某种数据中心,以及一堆基础架构–当您转移到虚拟机然后转移到容器时,这些操作人员永远不会真正看到应用程序中的内容。

将操作职责移交给交付团队

他们只是负责保持基础设施的正常运转,就像在城市中负责桥梁和道路的人一样,但他们与在其上行驶的汽车和卡车无关。因此,我认为这种分离将发挥作用。而且我认为绝对需要保持服务器场运行的人员。但是他们可能不在组织内部,并且他们实际上不必了解应用程序中正在运行的内容。他们只是在看工作量和交通,就像您在看城市的交通一样。

CD以什么方式帮助公司竞争?

这可以归因于马克·安德森(Marc Andreessen)所说的“软件正在吞噬整个世界”。公司提供的越来越多的产品和服务越来越以一种或另一种方式依赖于软件。通过客户界面,移动应用程序或云应用程序,或者将其嵌入产品本身。

我想说一个极端的例子是特斯拉汽车公司,其中汽车本身的很大一部分是在软件中定义的。您可以控制各种功能,配电,电源管理,加速,中断以及客户体验。随着那些支持软件和软件定义的产品在业界变得越来越普遍(现在,我们已经有了相对平凡的设备,例如Nest和Honeywell之类的恒温器,它们基本上是通过控制和利用软件和分析信息来提供更好的体验的)–所有这些都意味着软件交付越来越重要。更明确地说,与客户直接互动的产品使您能够了解客户的行为-背景,成功成就,满意度。

通过衡量这些指标,您可以开始微调那些产品,以更好地满足客户需求并建立更多的忠诚度。因此,可以更快地驱动反馈循环,从而为您提供竞争优势,从而超越竞争对手。