DevOps已死?2024年的DevOps将如何发展

随着我们进入2024年,DevOps也发生了变化。新兴的技术、变化的需求和发展的方法正在重新定义有效实施DevOps实践。

IDC预测显示,未来五年,支持DevOps实践的产品市场继续保持健康且快速增长,2022年-2027年的复合年增长率(CAGR)为16.1%。 其主要原因是将安全纳入DevOps流程的需求日益增长,以及DevOps实践在GitOps、FinOps、平台工程等领域的发展,所有这些都有助于增加市场活动和扩张。

本文探讨了我们在数字技术转型过程中DevOps的主要趋势和适应性。
DevOps.png

一、DevOps的新兴趋势

1.人工智能和机器学习集成

在DevOps流程中集成人工智能(AI)和机器学习(ML)已不再是新鲜事物,而是必需品。 人工智能驱动的分析和ML算法正在彻底改变我们在DevOps中处理自动化、问题解决和预测分析的方式。

Google Cloud DORA团队的《DevOps2023现状报告》中提到,代码审查速度较慢的团队可能会尝试使用人工智能作为代码审查过程的一部分,以了解这如何影响他们的软件交付性能。

过去,DevOps中的自动化主要基于规则,依赖于预定义的条件和操作。然而,随着AI和ML的加入,DevOps流程变得更加适应性和智能化。 AI驱动的自动化可以分析大量数据集、识别模式并实时做出明智的决策。

例如,人工智能可以根据历史数据和趋势预测潜在的开发流程或生产环境问题。这种主动解决问题的方法可以大大减少停机时间并提高系统可靠性。

2.更加重视安全

2024 年,随着组织认识到在早期和整个 DevOps 流程中集成安全性的重要性,DevSecOps 将成为一项标准。 这种范式转变体现了“左移”安全方法,强调需要在软件开发生命周期中尽早解决安全问题,而不是事后再考虑。

传统上,安全被视为一个单独的实体,在开发过程结束时解决。然而,这种被动的方法已不足以应对不断发展的网络安全威胁。DevSecOps和左移方法强调主动的安全态势,将安全措施集成到软件开发生命周期的每个阶段,从初始设计到开发、测试和部署。

安全扫描工具、漏洞评估和代码分析无缝集成到 DevOps 管道中,使团队能够在开发早期识别和修复安全问题。通过在最早阶段嵌入安全实践,组织可以显著减少漏洞并增强其整体安全态势,使安全成为软件开发的基础要素,而不是外围问题。

这一转变还致力于让开发人员在开发产品时将安全性视为日常工作的一部分。这是一种所有权文化的转变,开发人员在安全性和性能方面对其功能负有更多责任,从而提高质量并加快产出。

2024DevOps发展趋势-1

3.混合和多云环境

混合云和多云环境的趋势持续增长,2024年的DevOps要求能够无缝管理和部署跨各种云平台的应用程序。这种转变需要更强大、更灵活的工具,尤其是在软件即服务(SaaS)产品等场景中,客户可能会使用不同的云提供商来开展不同的业务运营。

DevOps团队必须适应这种多云环境,确保应用程序无论底层基础架构如何都能无缝运行。这在SaaS环境中尤为重要,因为在各种客户首选的云平台上提供一致的服务是一项关键的竞争优势。

容器化和容器编排技术(如Kubernetes)在实现跨云环境的可移植性方面发挥着关键作用。它们提供一致的运行时环境,使在云之间移动应用程序变得更加容易。

4.转向内部开发者门户

内部开发者平台(IDP)是一个集中式系统,旨在简化和优化组织内的软件开发生命周期。这是DevOps社区目前最热门的话题之一,它试图解决与DevOps日常运营相关的传统挑战,例如需要新环境的工单、部署特定服务、启动或停止环境、成本和安全性的可见性等。

IDP的主要功能包括:

  • 资源配置:自动分配和配置基础设施组件(例如服务器、数据库、网络),无需手动设置。
  • 部署自动化: 简化构建、测试和部署代码到各种环境的过程,实现持续集成和交付实践。
  • 监控和可观察性: 提供应用程序性能和健康状况的集中可见性,提供实时指标和警报以促进主动解决问题。
  • 变更管理: 提供应用程序版本和基础设施安全、可控的回滚或前滚机制,降低风险并确保稳定性。

二、适应变化

1.技能提升和跨职能团队

DevOps不断发展,需要不断学习和适应。团队需要提高技能,以跟上新技术和新方法的步伐。强调跨职能协作是促进更全面的DevOps方法的关键。

技能提升不仅限于学习新工具,还涉及培养更广泛的技能。人们越来越期望DevOps专业人员具备云、安全、自动化和调试方面的专业知识。持续学习和认证计划对于在这个快速发展的领域保持领先地位至关重要。

跨职能团队由来自不同学科的成员密切合作,有助于打破组织内部的孤岛。这种方法鼓励沟通和知识共享,从而实现更高效、更具创新性的DevOps实践。

2.关注监控和可观察性

增强监控和可观察性对于理解日益复杂的系统至关重要。DevOps团队更注重能够更深入地洞察系统性能和用户行为的工具。

过去,基本监控侧重于系统运行状况和资源利用率。然而,现代应用程序高度分散,因此很难查明问题。增强型监控和可观察性解决方案(例如分布式跟踪和实时分析)可提供应用程序行为的全面视图。

这些工具使DevOps团队能够主动识别瓶颈、解决问题并优化系统性能。此外,以用户为中心的可观察性可以洞悉用户体验,使团队能够解决可用性问题并提高客户满意度。

3.DevOps工具的未来

DevOps中使用的工具集正在不断发展,变得更加适应性强、智能化和集成化。这种发展包括采用基础设施即代码(IaC)、增加对Kubernetes等容器化和编排工具的依赖,以及集成云原生技术。

2024DevOps发展趋势-2

4.基础设施即代码(IaC)

IaC作为一种使用代码定义和配置基础设施的方式,在DevOps中占据了重要地位。这种方法允许团队将基础设施视为应用程序代码库的一部分,从而实现版本控制、自动化和可重复性。

借助IaC,可以使用声明性代码定义基础设施,指定所需的资源状态。Terraform和AWS CloudFormation等工具使得使用代码创建和管理跨不同云提供商的基础设施成为可能。

IaC的优势包括提高基础设施灵活性、减少手动配置错误以及自动配置和扩展资源的能力。这种方法符合DevOps的自动化原则,有助于实现更可靠、更一致的基础设施。

5.容器化和编排

容器化,尤其是使用Docker等技术的容器化,已成为DevOps实践的基本组成部分。容器将应用程序及其依赖项打包成独立的单元,确保不同环境中的一致性。

Kubernetes是一个领先的容器编排平台,可简化大规模容器化应用程序的部署和管理。它可以自动执行负载平衡、扩展和自我修复任务,让DevOps团队专注于应用程序逻辑。

容器的可移植性和Kubernetes等编排平台的灵活性彻底改变了应用程序的部署和扩展。容器可以在开发机器、测试环境和生产服务器上一致运行,从而减少了“它在我的机器上运行正常”的问题。

6.云原生技术集成

云原生技术旨在充分利用云平台的功能。DevOps实践越来越多地采用云原生原则,例如微服务、无服务器计算和自动扩展。

微服务架构涉及将应用程序分解为更小、可独立部署的服务。这种方法符合DevOps实践,使团队能够快速开发、测试和部署单个服务。

无服务器计算(以AWS Lambda和Azure Functions等服务为例)完全抽象了基础设施管理。DevOps团队可以专注于代码开发,依靠云提供商自动处理扩展和资源配置。

自动扩展是另一个云原生功能,可根据需求动态调整资源。DevOps团队可以配置自动扩展策略,以确保最佳的资源利用率和应用程序性能。

三、写在最后

2024年重新思考DevOps意味着拥抱变化、整合新技术以及培养持续改进和协作的文化。随着我们适应这种动态环境,效率、自动化和以客户为中心这些核心原则仍然至关重要。DevOps的未来一片光明,需要采取积极主动、创新的方法才能保持领先地位。

此外,禅道紧跟时代变化于2023年推出禅道DevOps平台,打通了从产品、需求、项目到开发、测试、运维环节,贯穿了整个软件交付生命周期,具有加快交付速度、提高交付质量、减少团队摩擦、实现快速反馈等优势。

禅道DevOps平台

DevOps专业人员处于这一变革的最前沿,他们决定着组织开发、部署和运营软件的方式。通过了解新兴趋势、提升技能并采用新工具和新做法,DevOps团队可以带领组织在这个新技术时代取得成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/527768.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

标定系列——Ubuntu18.04下opencv-4.5.3与opencv_contrib-4.5.3源码编译(二十)

Ubuntu18.04下opencv-4.5.3与opencv_contrib-4.5.3源码编译 说明下载安装步骤1.更新2.安装必要的依赖包3.下载源码包并解压4.终端运行如下命令5.添加配置路径6.验证安装是否成功 说明 Ubuntu18.04下对opencv-4.5.3与opencv_contrib-4.5.3源码编译 下载 CSDN下载 安装步骤 …

[Linux][权限][粘滞位]详细解读,深入了解Linux权限

1.Linux权限的概念 Linux下有两种用户:超级用户(root)、普通用户 超级用户:可以在Linux系统下做任何事情,不受限制普通用户:在Linux下做有限的事情,可以有多个超级用户的命令提示符是**“#”,普通用户的命…

运算放大器的熟练运用-6个经典的高级电路

前一篇文章讲了运算的一般分析计算方法。 其中,重点提到了运放分析的两把“板斧”------“虚短”和“虚断”,有了这两个基本概念,再结合常用的欧姆定律,基尔霍夫电流,电压定律基本就可以解决大多数问题了。我们现在可以…

使用 Go-Ora 连接到 Oracle 数据库

前文 《 一鍵啓動 Oracle 23c Free 》 介绍了如何使用容器技术快速拉起 Oracle 23c 数据库。 这个开发者版本可以很便捷的拉起、测试、销毁,对开发者是非常友好的。 本文将介绍如何使用 Go 语言构建项目,并连接到 Oracle 数据库。 Go 环境配置 本文使用的…

基于在线脑电图的运动框架解码运动意图

多年来,我们研究了自然控制的各个方面,然而,单个方面的研究成果尚未被整合。在这里,我们提出了一个全面的在线研究中该框架的第一个实现,结合(i)目标定向运动意图、(ii)轨迹解码和(i…

VSCode输入花括号{}}会多一个解决方案

打开设置 搜索Closing Brackets 选择BeforeWhitespace 选完后重启下VSCode即可

AI应用实战1:AI项目实战五大环节

文章目录 环节一:定义问题环节二:收集和处理数据环节三:选择机器学习模型环节四:训练模型环节五:超参数调试和性能优化1.评价模型效果的指标分类任务评估标准:回归任务评估标准:其他通用评估指标…

【Linux】TCP编程{socket/listen/accept/telnet/connect/send}

文章目录 1.TCP接口1.1socket文档 1.2listen拓:端口号8080 1.3accept拓:今天全局函数 1.4读写接口1.5telnet1.一个客户端2.两个客户端 1.6ulimit -a1.7常识回顾1.8connect1.9拓:客户端的ip和地址什么时候被分配?1.10拓&#xff1a…

力扣739. 每日温度

Problem: 739. 每日温度 文章目录 题目描述思路复杂度Code 题目描述 思路 若本题目使用暴力法则会超时,故而使用单调栈解决: 1.创建结果数组res,和单调栈stack; 2.循环遍历数组temperatures: 2.1.若当stack不为空同时…

AQS(AbstractQueuedSynchronizer)

一、什么是AQS AQS的全称为(AbstractQueuedSynchronizer)抽象的队列式的同步器,用来构建锁或者其他同步组件的基础框架类。使⽤AQS能简单且⾼效地构造出应⽤⼴泛的⼤量的同步器,如:基于AQS实现的lock、CountDownLatch…

计算机是如何工作的6

因此,往往就把“并行”和“并发”统称为“并发” 对应的编程方式(解决一个问题,同时搞多个任务来执行,共同协作解决)就称为“并发” 此处cpu的百分数,就是你的进程在cpu舞台上消耗时间的百分比 如果有一…

字符串2s总结

4.字符串 字符串理论基础 什么是字符串 字符串是若⼲字符组成的有限序列,也可以理解为是⼀个字符数组,但是很多语⾔对字符串做了特殊的规定,接下来我来说⼀说C/C中的字符串。 在C语⾔中,把⼀个字符串存⼊⼀个数组时&#xff0c…

Android Activity 介绍

Activity Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之…

Cherno CPP学习笔记-01-背景知识

0、工具网站收集 C语言版本特性 https://en.cppreference.com https://www.cplusplus.com https://www.tutorialspoint.com/cplusplus https://www.learncpp.com https://github.com/fffaraz/awesomecpp https://stackoverflow.com 网页CPP编译器 [C] gcc 12.1.0 - Wa…

expected scalar type long but found float

在报这个错误的情况下,找到报错的路径,将target 改为target.long()就可以解决了

Chatgpt掘金之旅—有爱AI商业实战篇|虚拟助理|(九)

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业在虚拟助理业务有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随…

【Leetcode每日一题】 递归 - 二叉树剪枝(难度⭐⭐)(50)

1. 题目解析 题目链接:814. 二叉树剪枝 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 想象一下,你有一堆层层叠叠的积木,你想从底部开始,把那些标记为0的积木拿走。如…

设计模式之观察者模式讲解

概念:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 抽象主题:或者叫被观察者,可以持有、增加、删除观察者对象。具体主题:实现抽象主题定义的…

定时任务原理方案综述

定时任务原理方案综述 背景概述 定时任务,顾名思义,就是指定时间点进行执行相应的任务。业务场景中包括: 每天晚上12点,将当日的销售数据发送给各个VP;订单下单十分钟未付款将自动取消订单;用户下单后发…

【JavaScript】预解析 ② ( 预解析示例分析 | 分步骤分析预解析过程 )

文章目录 一、预解析示例分析一1、要分析的代码2、代码预解析分析3、作用域链分析 二、预解析示例分析二1、要分析的代码2、代码预解析分析 三、预解析示例分析三1、要分析的代码2、预解析过程分析 一、预解析示例分析一 1、要分析的代码 要分析的 代码示例 : <!DOCTYPE ht…