2024 年软件工程将如何发展

news2024/11/15 17:18:03

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

它不是单一技术引领这一演变,而是创新的融合。从人工智能(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 平台。

未来就在这里

未来已经到来,只是分布不均。在接下来的时间里,随着这些功能变得更容易使用,我们可以期待一系列令人惊讶的软件工程进步。

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

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

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

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

相关文章

“2023年的技术发展与个人成长:回顾与展望“

文章目录 每日一句正能量前言工作生活未来展望后记 每日一句正能量 凡事顺其自然,遇事处于泰然,得意之时淡然,失意之时坦然,艰辛曲折必然,历尽沧桑悟然。 前言 在这快速发展的信息时代,技术的进步和创新不…

设计模式-过滤器模式

设计模式专栏 模式介绍模式特点应用场景Java中的过滤器介绍代码示例Java实现过滤器模式Python实现过滤器模式 过滤器模式在spring中的应用 模式介绍 过滤器模式是一种设计模式,它允许开发人员使用不同的标准来过滤一组对象。这种模式是通过运算逻辑以解耦的方式将它…

MySQL常用命令合集(Mac版)

mysql信息 MySQL位置 which mysql查看版本 mysql --version启动与关闭 使用mysql.server启用脚本来执行,默认在/usr/local/mysql/support-files这个目录中。 启动 sudo /usr/local/mysql/support-files/mysql.server start关闭 sudo /usr/local/mysql/suppor…

JMeter逻辑控制器之ForEach控制器

1. 背景 前段时间在对某项目进行测试,存在一个需要遍历所有组织机构后给每个组织下新增部门的场景,其实也可以通过在数据库中直接添加数据这种方式来实现,但是有点风险,可能会生成脏数据,后期也不好排查,最…

音视频学习(二十二)——rtmp发流(tcp方式)

前言 本文主要介绍自研的RtmpStreamSender.dll,rtmp库提供接口接收裸流数据,支持将裸流数据封装为flv格式并通过rtmp协议发流。 关于rtmp协议基础介绍可查看:https://blog.csdn.net/www_dong/article/details/131026072 关于rtmp收流介绍可…

编程笔记 html5cssjs 004 我的第一个页面

编程笔记 html5&css&js 004 我的第一个页面 一、基本结构二、HTML标签三、HTML元素四、HTML属性五、编写第一个网页六、使用VSCODE小结 开始编写网页,并且使用第一个网页成为一个母板,用于完成后续内容的学习。有一个基本要求,显示结…

errors包返回堆栈信息的性能测试

errors包返回堆栈信息的性能测试 上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors,错误信息带调用栈,方便定位错误的抛出位置。 通过堆栈的信息来定位是方便了,性能怎么样&#xff0c…

docker学习笔记02-安装mysql

1.安装mysql8 下载MySQL镜像 docker pull mysql:8.0创建并启动容器 docker run -itd --name mysqltest -p 9999:3306 -e MYSQL_ROOT_PASSWORD123456 mysql其中-it是交互界面 -d是后台执行 -name 指定容器名称 -p指定映射端口 -e设置环境变量 最后mysql是镜像名或者用镜像id如…

Switch语句与链接—计算机系统基础

实验内容:修改二进制可重定位目标文件“phase1.o”中相关节的内容(注意不允许修改.text节和重定位节的内容),使其与main.o模块如下链接后运行时输出目标字符串“123456789” gcc -no-pie -o linkbomb main.o phase1.o ./linkbomb…

Spring Boot+RocketMQ 实现多实例分布式环境下的事件驱动

为什么要使用MQ? 在Spring Boot Event这篇文章中已经通过Guava或者SpringBoot自身的Listener实现了事件驱动,已经做到了对业务的解耦。为什么还要用到MQ来进行业务解耦呢? 首先无论是通过Guava还是Spring Boot自身提供的监听注解来实现的事…

CNN实现对手写字体的迭代

导入库 import torchvision import torch from torchvision.transforms import ToTensor from torch import nn import matplotlib.pyplot as plt 导入手写字体数据 train_dstorchvision.datasets.MNIST(data/,trainTrue,transformToTensor(),downloadTrue) test_dstorchvis…

Hive实战:统计总分与平均分

文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据文件1、在虚拟机上创建文本文件2、将文本文件上传到HDFS指定目录 (二)实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、创建Hive表,加载HDFS数据文件…

websocket 介绍

目录 1,前端如何实现即时通讯短轮询长轮询 2,websocket2.1,握手2.2,握手过程举例2.3,socket.io 3,websocket 对比 http 的优势 1,前端如何实现即时通讯 在 websocket 协议出现之前,…

Tuxera NTFS for Mac2024免费Mac读写软件下载教程

在日常生活中,我们使用Mac时经常会遇到外部设备不能正常使用的情况,如:U盘、硬盘、软盘等等一系列存储设备,而这些设备的格式大多为NTFS,Mac系统对NTFS格式分区存在一定的兼容性问题,不能正常读写。 那么什…

Flask 与微信小程序对接

Flask 与微信小程序的对接 在 web/controllers/api中增建py文件,主要是给微信小程序使用的。 web/controllers/init.py # -*- coding: utf-8 -*- from flask import Blueprint route_api Blueprint( api_page,__name__ )route_api.route("/") def ind…

c++输入输出流和文件操作总结

目录 一、c的输入输出流——> 指的是字节流的数据传送;具有类型安全和可扩展性。 二、流的出入路径 三、c流类库 ①概览 ②标准输出流: ③标准输入流: 四、文件操作(ascii文件和二进制文件) 五、字符串流(或称…

Amazon CodeWhisperer 免费 AI 代码生成助手体验分享

今年上半年,亚马逊云科技正式推出了实时AI编程助手 Amazon CodeWhisperer,还提供了供所有开发人员免费使用的个人版版本。经过一段时间的体验,我觉得 CodeWhisperer 可以处理编程工作中遇到的很多问题,并且帮助开发人员提高编程效…

opencv和gdal的读写图片波段顺序问题

最近处理遥感影像总是不时听到 图片的波段错了,一开始不明就里,都是图片怎么就判断错了。 1、图像RGB波段顺序判断 后面和大家交流,基本上知道了一个判断标准。 一般来说,进入人眼的自然画面在计算机视觉中一般是rgb波段顺序表示…

【Java EE初阶三 】线程的状态与安全(上)

1. join方法与多线程 1.1 初识多线程 为了提高cpu得利用率,因此就引入了多个线程的概念;即每个线程负责完成整个程序的一部分工作即可。 写一个代码,让主线程,创建一个新的线程,由新线程负责完成运算(12。…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现Raw格式的图像保存(C++)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现Raw格式的图像保存(C) Baumer工业相机Baumer工业相机通过SDK实现Raw格式的图像保存的技术背景通过SDK获取相机信息的代码分析Baumer工业相机回调函数里保存原始图像数据Baumer保存Raw图像格式重要核心代…