DevOps的发展史

您所在的位置:网站首页 casaos国内安装 DevOps的发展史

DevOps的发展史

2023-03-02 00:07| 来源: 网络整理| 查看: 265

来源:Sapphire Ventures(Contrary Research)

软件开发的速度呈指数增长。仅在过去 10 年中,全球数据量就增长了 15 倍以上。上世纪 70 年代和 80 年代,科技界经历了一场“软件危机”,软件变得越来越重要,但其生产却经常超出预算且无法按计划进行。随着时间的推移,软件开发已经从关注效率演变为关注质量和可扩展性。

就事物的构建方式和人们的生活方式而言,技术越来越成为宇宙的中心。因此,我们需要构建可以大幅扩展的技术,并且比过去更快地完成这项工作。

来源:IEEE Computer Society

当你思考 DevOps 的未来会是什么样子时,你实际上是在看技术生产的未来会是什么样子。影响软件开发的趋势与软件本身的功能一样多变,但有三种趋势对未来的软件开发方式具有总体影响。

整合工具链:随着在软件开发生命周期中提高效率变得越来越重要,公司将寻求将更多的 DevOps 技术栈转移到同一平台上。这将有利于那些在同类最佳单点解决方案上构建多产品平台的公司,并为未来在 DevOps 中占据主导地位的公司奠定基础。

DevSecOps:随着软件开发速度的不断提高,在发布某些东西之前,事后安全审查的回旋余地不大。左移是将安全审查集成到开发生命周期中,对于任何希望成为主要 DevOps 平台的公司来说,这将成为越来越重要的筹码。

AI/ML 的融合:人工智能在每个行业都变得越来越普遍,但它最常用于快速移动、资源受限的环境中。世界上几乎没有任何价值链像软件一样快速移动和资源受限。从 AI 辅助代码审查到通过 AI 进行全面开发,自动化将通过多种方式影响软件的创建方式。

整合工具链

来源:GitLab

随着部署速度的提高,开发人员的生产力已成为首要任务。当涉及到开发人员的时间时,每家公司都会感到资源受限。增加更多的软件工程师不是一个可扩展的解决方案,同时我们也看到这种需求的不断增加。据估计,到 2030 年,软件工程师的短缺将超过 8000 万。公司正在竭尽全力提高开发人员的能力。

除了人才短缺之外,有证据表明,公司还需要更好地利用其现有的工程力。2018 年,Stripe 发布了一份名为 The Developer Coefficient 的关于软件工程效率的报告。他们这样描述这个机会:

“虽然当今企业面临着无数问题——安全漏洞、贸易关税、复杂的政府法规、日益激烈的全球竞争——但如何利用开发人员可能是影响他们未来成功的最被忽视的因素。开发人员充当力量倍增器,如果使用得当,他们有可能在未来十年内将全球 GDP 提高 3 万亿美元。虽然许多人认为缺乏开发人员是主要问题,但这项调查了六个不同国家的数千名 C 级高管和开发人员的研究发现,如果企业想更快地发展,就需要更好地利用现有的软件工程人才, 开发新产品,并利用新兴趋势。”

更好的利用现有软件工程资源的需求导致了两种趋势的流行:(1) 增加对开源社区的依赖,以及 (2) 增加对价值流管理的重视。

在开源方面,你会看到像 Grafana 这样的公司凭借其开源社区的力量,在很大程度上与 Datadog 等竞争对手形成了差异化。Grafana 的首席执行官 Raj Dutt 明确强调了这一点,他说:“我们 90% 的用户永远不会付钱给我们,这是设计使然。拥有一个健康的开源社区对我们来说非常重要。这是第一个任务。” 要了解有关 Grafana 的更多信息,您可以在此处[2]阅读 Contrary Research 备忘录。

在价值流管理方面,越来越多的 DevOps 平台继续强调从创意到生产和交付的端到端体验。一些公司已经通过收购建立了这些能力,例如 Microsoft 和 GitHub,或者 Cloudbees 和 Electric Cloud。

另一方面,GitLab 专注于在通用代码库上构建端到端平台。这进一步强调了他们成为“一体化的 DevOps 平台”的愿景。GitLab 成立于 2014 年,当你在他们的网站上查看他们的早期消息时,他们并没有从统一平台的愿景开始。但是消息强调的重点是开源,以及在代码上进行协作的能力。

来源:GitLab(June 2014)

从 2014 年到 2017 年,他们的重点继续围绕着为“现代开发人员”构建平台和统一开发生命周期的各种功能。DevOps 早在 2000 年代初就出现了,但构建一个统一的平台是闻所未闻的。2017 年底,该公司的消息声称开始围绕当今产品战略的核心理念:“整个软件开发和运营生命周期的单一应用程序。”

来源:GitLab(September 2017)

到 2020 年晚些时候,这一驱动原则演变成对营销更加友好的口号:“一体化 DevOps 平台”。虽然这只是 GitLab 的一个例子,但这代表了 DevOps 领域的整体情绪。如今,软件开发生命周期相互关联,拥有一个统一的平台具有明确的价值主张。

诚然,DevOps 工具链中供应商整合的一些论点对于这些希望推动其客户统一其 DevOps 堆栈的大型平台来说是自利的。一家应用安全公司的一位高管是这样说的:

“GitHub、Atlassian、微软……他们试图让每个人都采用统一的工具系统。但就工具而言,大多数人仍然选择同类中最好的。不过,这个想法是,有些人最终将采用更多的“你不会因为购买 IBM 而被解雇”的方法,即你从单一供应商处购买所有东西。”

无论整合是快速发生还是缓慢发生,有一件事是肯定的:除了效率之外,每个有抱负的 DevOps 平台都需要解决的下一个重要方面是安全性。

DevSecOps

DevSecOps 正在成为 DevOps 领域的另一个主要趋势。另一种表达趋势的常用方法是左移。如果你将开发生命周期想象成从左到右的路径,那么现状会将安全性置于工作流的最右侧——需要在部署之前进行审查。左移(Shift-left)是将安全性重新调整为开发生命周期的早期部分。

来源:Snyk

随着软件开发步伐的不断加快,安全运营团队捕获每个代码级漏洞的能力变得更加困难。一些消息来源表明,67% 的开发人员发布了带有漏洞的代码,84% 的代码库包含一个或多个开源漏洞。左移,以及越来越强调让开发人员参与安全流程,使安全审查流程更加主动,而不是被动。

与采用 DevOps 所需的文化变革类似,将安全性有效集成到更广泛的软件开发生命周期中也需要类似的文化变革。通常,安全和 DevOps 独立工作,开发人员专注于效率,并在安全介入之前取得良好进展,并强调在项目可以继续部署之前需要解决的大量问题。

左移是从开发人员开始编写代码和配置基础设施到部署和监控的安全最佳实践的一致应用。这分别涵盖了软件开发时间表以及测试(staging)和生产时间表。左移的各个方面可以自动化,以持续检查可能导致可利用漏洞的错误和不良做法。

来源: Convequity

左移不仅为组织提供了更好的安全性,而且还加快了上市时间。在项目已经取得进展后进行安全性的传统方法不可避免地会减慢速度,因为它将被推回给开发人员进行故障排除。一次就把事情做对有明显的好处,可以更好地响应最终用户的需求并降低成本。

如前所述,GitLab 对构建端到端 DevOps 平台的重视已经扩展到包括安全功能。Bridgecrew 于 2021 年被 Palo Alto Networks 收购,目前专注于 shift-left 的基础设施方面。自 Bridgecrew 被收购以来,下载量从 2020 年的 100 万激增至 2021 年的超过 300 万。

Snyk 是 DevSecOps 领域的主要供应商。Snyk 的平台会在开发人员编写代码时持续实时检查潜在漏洞,而不会像传统安全审查那样对生产力产生负面影响。Snyk 的用户认为易用性和明确的增值可以帮助他们加快 CI/CD 工作流程,同时保持高水平的安全性。

从 GTM 的角度来看,2022 年 7 月,Snyk 宣布他们的 ARR 达到 1.5 亿美元,尽管存在宏观逆风,但同比增长 150%。Snyk 的快速增长表明,尽管 IT 消费需求减弱,但 DevSecOps 正在成为许多组织的高优先级项目。要了解有关 Snyk 的更多信息,你可以在此处[3]阅读 Contrary Research 备忘录。

你会看到,企业对 DevOps 流程中安全性的持续需求不仅体现在 Snyk 的成功中,而且体现在整个公司的预算中。截至 2022 年 9 月,62% 的公司预计明年的安全预算将增加约 10%。四分之三的公司计划将安全性纳入其技术堆栈,以开发完全集成的 DevSecOps。

来源:Battery Ventures

安全性继续控制着预算和优先级,不仅因为它可以提高开发人员的效率,还因为安全性是每个公司都关心的一个未解决的问题。43% 的安全开发团队关注安全问题,因此专注于优化其组织以有效实施 DevSecOps。

虽然安全是开发人员生命周期的关键部分,但它也代表了对现有软件工程师本已有限能力的另一种压力。公司正在转向自动化以提高工程能力。

AI/ML 的融合

虽然安全是 DevOps 流程的第一个注入部分,但 AI/ML 紧随其后。大约一半的技术领导者表示他们正在研究 DataOps 和 MLOps 等新领域,以更好地利用他们的 DevOps 功能。其中一个例子来自 GitLab 的首席执行官 Sid Sijbrandij:

“如果我们看一下 AI/ML,会发现有两件事情正在发生。我们正在使用它来让 GitLab 变得更好。一个很好的例子是代码审查员……另一件事是帮助数据科学家完成他们的工作……我们看到一个伟大的融合正在发生,AI/ML工程师必须与 DevSecOps 人员合作,反之亦然,因为未来每个重要的应用程序两者都需要。”

考虑到软件工程师和数据工程师之间工作流程的相似性,MLOps 与 DevOps 更加集成是一个合乎逻辑的扩展。这让数据科学家成为任何 DevOps 平台的 TAM 的一部分。除了额外的用户角色之外,AI 正在成为 DevOps 产品中更重要的一部分。这些 DevOps 平台可以访问的数据量也为自动化越来越多的开发生命周期创造了机会。

这种趋势的最好例证是去年推出的 Amazon CodeWhisperer 或 Github CoPilot。CoPilot 是由 GitHub 和 OpenAI 开发的基于云的 AI 平台,通过在开发人员编码时提供建议来协助开发人员。CoPilot 围绕 OpenAI Codex 和 GPT-3 构建,从正在开发的代码中提取上下文,建议整行或整个功能,使开发人员能够更快地编写代码。它的大型语言模型是通过分析 GitHub 存储库上的所有开源代码,然后收集必要的数据来为开发人员试图完成的工作推荐最佳代码而构建的。

结合机器学习有助于优化软件交付的工作流程。智能模型有助于自动化构建、测试和部署应用程序的各个方面。考虑到软件的数量和种类,模型有丰富的数据集可以继续改进,从而使 GitHub 的 Copilot 和类似工具能够更准确地实时建议代码片段或整个功能。

Meta 的研发团队看到了软件开发中 AI/ML 的进步,做出了以下预测:

“随着 [支持 ML 的软件开发] 的进步,我们认为编程应该成为一种半自动化的任务,人类表达更高层次的想法,而详细的实施则由计算机自己完成。”

在 DevOps 的扫描和测试方面,Harness、Snyk 和 GitLab 等公司使用类似的模型来分析代码并帮助工程师检测安全异常和潜在的代码漏洞,这些模型使用经过公开可用的开放系统数据训练的预构建模型。例如,Snyk 收购了 Deepcode 以启用自动代码审查,此外还向寻找安全漏洞的开发人员提出更改建议。人工智能将继续在自动化和简化开发人员工作流程方面发挥关键作用,这将提高开发人员的工作效率。

其他公司正在从头开始实现开发人员工具的自动化。Replit 是一种基于浏览器的协作集成开发环境(IDE),允许开发人员使用 50 多种语言进行编码。该平台易于部署,具有多种集成功能,使开发人员可以轻松创建自己的编程环境。最近,他们宣布 Ghostwriter 作为其 AI 模式功能的一部分。该产品的大部分都是基于开源 LLM构建的,这些 LLM 已经针对易用性进行了优化。Ghostwriter 在代码片段和整个函数中提供了类似的代码完成建议。

大多数企业都强调开发人员的生产力是自动化的案例,而 Replit 则将自动化作为简化开发人员学习之旅的一部分。该公司对教育和托管服务的重视针对的是学习编程的开发人员或正在寻找更易于使用的副项目环境的成熟程序员。要了解有关 Replit 的更多信息,你可以在此处[4]阅读 Contrary Research 备忘录。

来源:Replit



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3