2024 年软件工程将如何发展

软件开发目前正在经历一场深刻的变革,其特点是先进自动化的悄然但显着的激增。这一即将发生的转变有望以前所未有的规模简化高质量应用程序的创建和部署。

它不是单一技术引领这一演变,而是创新的融合。从人工智能(AI) 和数字孪生技术,到植根于DevOps原则的平台工程,到增强弹性的混沌工程技术,再到扩大使用内部开发人员门户以提高生产力,创新正在结合起来,彻底改变软件工程的各个方面。

挑战和机遇在于有效利用这些能力,使组织能够培养他们的 DevOps 文化。这种转变将简化软件交付,涵盖基于云的系统到边缘计算平台。​

人工智能和数字孪生实现 DevOps 自动化

各种形式的人工智能正在稳步渗透到应用程序开发工具和 DevOps 平台中。然而,到目前为止,人工智能集成到开发工具中的速度比集成到 DevOps 平台中的速度快,这可能会导致不平衡。代码库的增长超出了 DevOps 团队跟上步伐的能力。

然而,注入人工智能并在云端运行的下一代 DevOps 平台即将出现。到 2024 年初,devops 团队将能够使用自然语言界面部署应用程序以参与大型语言模型(LLM)。这些法学硕士将接受培训,以自动执行各种手动任务,利用人工智能进行 IT 运营 ( AIOps ) 来消除目前困扰应用程序开发的瓶颈。

除了人工智能的这些突破性进步之外,数字孪生技术也被应用于应用程序部署。Devops 团队很快将通过简化 DevOps 工作流程管理的可视化界面从更高级别的抽象中受益。这一推动的核心是使用数字孪生技术创建并与自动化框架无缝集成的 IT 环境模型。不久之后,这些模型将被嵌入到持续集成和持续交付(CI/CD)平台中。

当与人工智能结合时,这些数字孪生技术将自动推断模型之间的关系。他们将生成代码并根据需要动态配置应用程序和基础设施。此外,实时反馈循环将提供对配置可行性的洞察,使部署更加透明。

最终目标是为 DevOps 环境提供一定程度的抽象,从而消除大部分复杂性。这将使更广泛的组织能够采用 DevOps 最佳实践。从本质上讲,DevOps 正处于数字化转型的风口浪尖,就像我们在许多其他流程中见证的现代化一样。

平台工程提高了开发人员的生产力

DevOps 不仅取决于工具和平台,还取决于文化。平台工程已成为一种集中 DevOps 流程和工作流管理的方法。平台工程的倡导者主张消除冗余的 DevOps 平台,转而采用统一的 CI/CD 平台作为企业标准。这种方法有望大规模管理 DevOps 工作流程,同时降低总体 IT 成本。

平台工程在提高开发人员生产力方面也发挥着关键作用。由精通 DevOps 最佳实践的平台工程团队提供的开发人员门户使开发人员能够在明确定义的边界内自助服务其需求,从而提高代码质量和安全性。平台工程师作为这些门户的管理者,消除了开发人员构建和维护应用程序开发环境时经常遇到的摩擦。

投资平台工程的主要动机是提高开发人员的生产力,在当前充满挑战的经济环境中,吸引和留住开发人员变得越来越困难,这是一个至关重要的考虑因素。

混沌工程与 CI/CD 集成

除非 IT 环境作为一个整体变得更有弹性,否则这些技术或文化进步都不会产生实质性成果。混沌工程已成为一门 DevOps 学科,它严格测试分布式计算系统承受不可预见的中断的能力。这是通过故意破坏组件来完成的。通过系统地揭示弱点,混沌工程为开发运营团队提供了对其应用程序环境的深刻洞察,可以利用这些洞察来增强从网络安全到成本效率的各个方面。

挑战在于如何将混沌工程工具和平台无缝集成到现有的 DevOps 工作流程中,而不会导致组织停机。实现这一目标的最自然途径是用于构建、部署和测试应用程序的 CI/CD 平台。

未来就在这里

正如威廉·吉布森 (William Gibson)所言,“未来已经到来,只是分布不均。” 在接下来的几个月里,随着这些功能变得更容易使用,我们可以期待一系列令人惊讶的软件工程进步。

总的来说,人工智能、数字孪生、平台工程、内部开发人员门户和混沌工程有望极大地改变软件工程。这是 DevOps 的转变,反映了无数其他流程的数字化转型。

与往常一样,挑战将是适应 devops 文化中技术和流程创新的加快步伐。


作者:Seetharam Param

更多技术干货请关注公号【云原生数据库

squids.cn,云数据库RDS,迁移工具DBMotion,云备份DBTwin等数据库生态工具。

irds.cn,多数据库管理平台(私有云)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Feature Prediction Diffusion Model for Video Anomaly Detection 论文阅读

Feature Prediction Diffusion Model for Video Anomaly Detection论文阅读 Abstract1. Introduction2. Related work3. Method3.1. Problem Formulation3.2. Feature prediction diffusion module 3.3. Feature refinement diffusion module4. Experiments and discussions4.1…

数据探查系列:如何进行有意义的探索性数据分析(EDA)

如何进行有意义的探索性数据分析(EDA) 目录 1. 设置 1.1 导入库1.2 导入数据1.3 数据集特征1.4 数据集属性 2. 探索训练集和测试集 2.1 训练集 - 快速概览2.2 训练集 - 基本统计2.3 测试集 - 快速概览2.4 测试集 - 基本统计 3. 特征分布4. 数据不平衡检查…

什么是迁移学习(Transfer Learning)?定义,优势,方法

迄今为止,大多数人工智能(AI)项目都是通过监督学习技术构建的。监督学习是一种从无到有构建机器学习(ML)模型的方法,它对推动AI发展起到了关键作用。然而,由于需要大量的数据集和强大的计算能力…

openmediavault(OMV) (19)云相册(3)mt-photos

简介 MT Photos是一款为Nas用户量身打造的照片管理系统。通过AI技术,自动将您的照片整理、分类,包括但不限于时间、地点、人物、照片类型。可以在任何支持Docker的系统中运行它。详情可查看mtmt.tech官网,mt-photos是付费订阅使用的,也可以一次性付费永久使用,具体使用mt…

机器学习系列--R语言随机森林进行生存分析(1)

随机森林(Breiman 2001a)(RF)是一种非参数统计方法,需要没有关于响应的协变关系的分布假设。RF是一种强大的、非线性的技术,通过拟合一组树来稳定预测精度模型估计。随机生存森林(RSF&#xff0…

观察者模式概述

观察者模式,它用于建立一种对象与对象之间的依赖关系, 一个对象发生改变将自动通知其他对象, 其他对象将相应做出反应。在观察者模式种,发生改变的对象称为观察目标, 而被通知的对象称为观察者,一个观察目标可以对应多…

docker学习(二十、network使用示例host、none)

文章目录 一、host应用示例总结 二、none应用示例总结 network相关内容: docker学习(十八、network介绍) docker学习(十九、network使用示例bridge) docker学习(二十、network使用示例host、none&#xff0…

【头歌实训】Spark 完全分布式的安装和部署

文章目录 第1关: Standalone 分布式集群搭建任务描述相关知识课程视频Spark分布式安装模式示例集群信息配置免密登录准备Spark安装包配置环境变量修改 spark-env.sh 配置文件修改 slaves 文件分发安装包启动spark验证安装 编程要求测试说明答案代码 第1关&#xff1…

Unity 代码控制Text自适应文本高度

在使用代码给Text赋值时,且文本有多段,并需要根据实际文本高度适配Text组件的高度时,可以使用以下方法: //Text文本 public TextMeshProUGUI text;void Start() {//代码赋值文本text.text "好!\n很好!\n非常好!";//获…

QT QPluginloader 加载失败,出现Unknown error 0x000000c1的问题

最近在学习Qt的插件开发&#xff0c;在加载插件时&#xff0c;一直失败&#xff0c;用如下代码加载并打印错误信息。 QDir dir("./testplugin.dll"); QPluginLoader pluginLoader(dir.absolutePath());//需要绝对路径 pluginLoader.load(); qDebug()<< "…

postman入门使用

前言 对于postman的基础其实很容易上手实现&#xff0c;也有很多教程。 对于小编我来说&#xff0c;也基本可以实现开发任务。 但是今年我们的高级测试&#xff0c;搞了一下postman&#xff0c;省去很多工作&#xff0c;让我感觉很有必要学一下 这篇文章是在 高级测试工程师ht…

爬虫工作量由小到大的思维转变---<第三十章 Scrapy Redis 第一步(配置同步redis)>

前言: 要迈向scrapy-redis进行编写了;首要的一步是,如何让他们互通?也就是让多台电脑连一个任务(这后面会讲); 现在来做一个准备工作,配置好redis的同步!! 针对的是windows版本的redis同步,实现主服务和从服务共享一个redis库; 正文: 正常的redis for windows 的安装这里就…

docker +gitee+ jenkins +maven项目 (一)

jenkins环境和插件配置 文章目录 jenkins环境和插件配置前言一、环境版本二、jenkins插件三、环境安装总结 前言 现在基本都是走自动化运维&#xff0c;想到用docker 来部署jenkins &#xff0c;然后jenkins来部署java代码&#xff0c;做到了开箱即用&#xff0c;自动发布代码…

spring boot 配置全局日期和时间格式

spring boot 为项目配置 全局日期和时间格式化yyyy-MM-dd HH:mm:ss 方式一&#xff1a;代码配置全局日期和时间格式化 /*** author hua*/ Configuration public class WebConfiguration implements WebMvcConfigurer {/*** 项目全局时间格式化*/ Bean public ObjectMapper get…

Docker (compose、安装、常用命令整理、compose编排) -day06

一、概念 Docker-Compose就是容器编排&#xff0c;负责实现对Docker容器集群的快速编排 Compose允许用户通过一个单独的docker-compose.yml模板文件&#xff08;YAML 格式&#xff09;来定义一组相关联的应用容器为一个项目&#xff08;project&#xff09;。 可以很容易地用一…

Spring系列学习三、Spring的基础组件

Spring的基础组件 一、 什么是Bean及Bean的生命周期二、 什么是依赖注入(DI)与控制反转(IOC)三、 Spring的作用域与生命周期四、 Spring的配置方式(XML与基于注解的配置)五、HelloWorld示例六、结语 欢迎回来各位亲爱的小伙伴&#xff01;我们已经滑过Spring的门槛&#xff0c;…

laravel api资源的问题记录

resource 转换层 可以帮助我们转换一些字段的结果&#xff0c;类似前端的filter。 可以使用比如对象或者模型的形式来处理&#xff0c;但使用sql查询会导致n1的问题。如图&#xff1a; 层次嵌套很多&#xff0c;而且很深&#xff0c;这样虽然开发方便了&#xff0c;但是维护就…

大华NVR和IPC通过主动注册协议方式接入AS-V1000视频监控平台的步骤

最近有人经常用到有的型号的大华网路摄像机&#xff0c;不支持国标GB28181标准&#xff0c;问我们能否接入到在公网的AS-V1000平台 &#xff1f; 我们早期就开发了大华的主动注册协议SDK&#xff0c;能够支持大华的NVR和IPC接入到AS-V1000平台。 今天就直接讲解如何一步步的把局…

【ES6】Class继承-super关键字

目录 一、前言二、ES6与ES5继承机制区别三、super作为函数1、构造函数this1&#xff09;、首先要明确this指向①、普通函数②、箭头函数③、注意事项 2&#xff09;、其次要明确new操作符做了哪些事情 2、super()的用法及注意点1&#xff09;、用法2&#xff09;、注意点 四、s…

【Docker-Dev】Mac M2 搭建docker mysql

Mac M2 搭建Mysql 1、前言2、前置说明-Docker的代理访问3、前置说明-Mysql的镜像访问3.1、提取信息3.1.1、开启Mysql的实例3.1.2、Dokcer连接Mysql3.1.3、官方简易版的docker-compose3.1.4、如何登录mysql bash3.1.5、自定义my.cnf文件3.1.6、如何知道其他自定义配置项 4、M2安…