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 平台。
未来就在这里
未来已经到来,只是分布不均。在接下来的时间里,随着这些功能变得更容易使用,我们可以期待一系列令人惊讶的软件工程进步。
总的来说,人工智能、数字孪生、平台工程、内部开发人员门户和混沌工程有望极大地改变软件工程。这是 DevOps 的转变,反映了无数其他流程的数字化转型。
与往常一样,挑战将是适应 devops 文化中技术和流程创新的加快步伐。
相关文章:
2024 年软件工程将如何发展
软件开发目前正在经历一场深刻的变革,其特点是先进自动化的悄然但显着的激增。这一即将发生的转变有望以前所未有的规模简化高质量应用程序的创建和部署。 它不是单一技术引领这一演变,而是创新的融合。从人工智能(AI) 和数字孪生技术,到植根…...
【Git】git基础
Git 命令 git config --globle user.name ""git config --globle user.email ""git config -lgit config --globle --unset []git add []git commit -m ""]git log//当行且美观 git log --prettyoneline//以图形化和简短的方式 git log --grap…...
Linux中账号和权限管理
目录 一.用户账号和组账号: 1.用户账号类型: 2.组账号类型: 3.系统区别用户的方法 : 4.用户账号文件: 二.Linux中账户相关命令: 1.useradd: 2.passwd: 3.usermod:…...
Resnet BatchNormalization 迁移学习
时间:2015 网络中的亮点: 超深的网络结构(突破1000层)提出residual模块使用Batch Normalization加速训练(丢弃dropout) 层数越深效果越好? 是什么样的原因导致更深的网络导致的训练效果更差呢…...
Unity检测地面坡度丨人物上坡检测
Unity检测地面坡度 前言使用 代码 前言 此功能为,人物在爬坡等功能时可以检测地面坡度从而完成向某个方向给力或者完成其他操作 使用 其中我们创建了脚本GradeCalculation,把脚本挂载到人物上即可,或者有其他的使用方式,可自行…...
SASS循环
<template><div><button class"btn type-1">默认按钮</button><button class"type-2">主要按钮</button><button class"type-3">成功按钮</button><button class"type-4">信息…...
Java超高精度无线定位技术--UWB (超宽带)人员定位系统源码
UWB室内定位技术是一种全新的、与传统通信技术有极大差异的通信新技术。它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,从而具有GHz量级的带宽。 UWB(超宽带)高精度定位系统是一…...
系列十一、解压文件到指定目录
一、解压文件到指定目录 1.1、需求 Linux的/opt目录有一个文件zookeeper-3.4.11.tar.gz,我现在想把该文件解压至/usr/local/目录,那么应该怎么做呢? 语法:tar -zxvf xxx -C /usr/local/ tar -zxvf zookeeper-3.4.11.tar.gz -C /u…...
PHP Swoole Client
PHP常用socket创建TCP连接,使用CURL创建HTTP连接,为了简化操作,Swoole提供了Client类用于实现客户端功能,并增加了异步非阻塞模式,让用户在客户端也能使用事件循环。 作为客户端使用,Swoole Client可以在F…...
《QDebug 2023年12月》
一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Q_REVISION 标记的信号槽或者 REVISION 标记的属性,在子类中访问 Q_REVISION 是 Qt 用来做版本控制的一个宏。以 QQuickWindow 为例,继承后去访问 REVISION 标记的 opacity 属性或者 Q_REVISION…...
sklearn 中matplotlib编制图表
代码 # 导入pandas库,并为其设置别名pd import pandas as pd import matplotlib.pyplot as plt# 使用pandas的read_csv函数读取名为iris.csv的文件,将数据存储在iris_data变量中 iris_data pd.read_csv(data/iris.txt,sep\t)# 使用groupby方法按照&quo…...
【Docker-Dev】Mac M2 搭建docker的redis环境
Redis的dev环境docker搭建 1、前言2、官方文档重点信息提取2.1、创建redis实例2.2、使用自己的redis.conf文件。 3、单机版redis搭建4、redis集群版4.1、一些验证4.2、一些问题 结语 1、前言 本文主要针对M2下,相应进行开发环境搭建,然后做一个文档记录…...
docker +gitee+ jenkins +maven项目 (一)
jenkins环境和插件配置 文章目录 jenkins环境和插件配置前言一、环境版本二、jenkins插件三、环境安装总结 前言 现在基本都是走自动化运维,想到用docker 来部署jenkins ,然后jenkins来部署java代码,做到了开箱即用,自动发布代码…...
IDEA 开发中常用的快捷键
目录 Ctrl 的快捷键 Alt 的快捷键 Shift 的快捷键 Ctrl Alt 的快捷键 Ctrl Shift 的快捷键 其他的快捷键 Ctrl 的快捷键 Ctrl F 在当前文件进行文本查找 (必备) Ctrl R 在当前文件进行文本替换 (必备) Ctrl Z 撤…...
Ubuntu Desktop 死机处理
Ubuntu Desktop 死机处理 当 Ubuntu Desktop 死机时,除了长按电源键重启,还可以使用如下两种方式处理。 方式1:ctrlaltFn 使用 ctrl alt F3~F6: 切换到其他 tty 命令行。 执行 top 命令查看资源占用最多的进程,然后使用 kill…...
Hermite矩阵
Hermite矩阵 文章目录 Hermite矩阵一、正规矩阵【定义】A^H^矩阵【定理】 A^H^的运算性质【定义】正规矩阵、特殊的正规矩阵【定理】与正规矩阵酉相似的矩阵也是正规矩阵【定理】正规的上(下)三角矩阵必为对角矩阵【定义】复向量的内积【定理】Schmitt正交化 二、酉矩阵&#x…...
HTML 实操试题(二)
创建一个简单的HTML文档: 包含<!DOCTYPE html>声明。包含<html>标签,并设置lang属性为英语。包含<head>标签,其中包含<meta charset"UTF-8">和一个自定义的页面标题。包含<body>标签,其…...
MongoDB 面试题
MongoDB 面试题 1. 什么是MongoDB? MongoDB是一种非关系型数据库,被广泛用于大型数据存储和分布式系统的构建。MongoDB支持的数据模型比传统的关系型数据库更加灵活,支持动态查询和索引,也支持BSON格式的数据存储,这…...
LeetCode 1154. 一年中的第几天:2023年最后一道每日一题
【LetMeFly】1154.一年中的第几天:2023年最后一道每日一题 力扣题目链接:https://leetcode.cn/problems/day-of-the-year/ 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1&…...
《深入理解JAVA虚拟机笔记》OutOfMemoryError 异常
在《Java 虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生 OutOfMemoryError (下文称 OOM)异常的可能。 Java堆溢出 Java 堆用于储存对象实例,我们只要不断地创建对象,并…...
R306指纹识别模块指令系统
一:指令集 1. GR_GetImage 指令代码:01H 功能:从传感器上读入图像存于图像缓冲区 2. GR_GenChar 指令代码:02H 功能:根据原始图像生成指纹特征存于 CharBuffer1 或 CharBuffer2 3. GR_Match 指令代码ÿ…...
redis的搭建及应用(三)-Redis主从配置
Redis主从配置 为提升Redis的高可用性,需要搭建多个Redis集群以保证高可用性。常见搭建方式有:主从,哨兵集群等,本节我们搭建一主二从的多Redis架构。 redis主从安装1主2从的方式配置,以端口号为redis的主从文件夹。 主…...
Java学习,一文掌握Java之SpringBoot框架学习文集(1)
🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…...
javaWeb学生信息管理系统2
一、学生信息管理系统SIMS 一款基于纯Servlet技术开发的学生信息管理系统(SIMS),在设计中没有采用SpringMVC和Spring Boot等框架。系统完全依赖于Servlet来处理HTTP请求和管理学生信息,实现了信息的有效存储、检索和更新…...
Linux Shell 019-文本行处理工具sed
Linux Shell 019-文本行处理工具sed 本节关键字:Linux、Bash Shell、文本行处理工具 相关指令:sed、 sed介绍 sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的。sed是一行一行读取文件…...
Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷
Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷 一:fdisk磁盘分区并挂载1.查看磁盘分区信息2.分区3.强制系统重新读取分区(避免重启系统)4.格式化分区5.创建挂载目录6.设置开机自动挂载:7.验证并自动挂载(执行了该命令不需要重启系统)8.查看挂载007.异常情况处…...
【leetcode】栈与队列总结
本文内容来自于代码随想录 栈 用栈实现队列 两个栈实现队列。思路:两个栈分别表示入栈和出栈。 入队:直接入栈出队: a. 出栈为空,先把入栈中的元素全部放到出栈中(相当于反过来,这样在出栈的时候先进的元…...
[EFI]HP Spectre 13 v102nl电脑 Hackintosh 黑苹果efi引导文件
硬件型号驱动情况主板 HP Spectre 13 v102nl 处理器Intel Core i7-7500U (7th gen - Kaby Lake)已驱动内存8 GB LPDDR3-1866 SDRAM已驱动硬盘512 GB Toshiba NVMe™ M.2 SSD已驱动显卡Intel HD Graphics 620已驱动声卡Conexant CX8200 (0x2008)已驱动网卡I1211 Gigabit Etherne…...
【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec
【Pytorch】学习记录分享7——PyTorch自然语言处理基础-词向量模型Word2Vec 1. 词向量模型Word2Vec)1. 如何度量这个单词的?2.词向量是什么样子?3.词向量对应的热力图:4.词向量模型的输入与输出![在这里插入图片描述](https://img-blog.csdni…...
【Kotlin 】协程
Kotlin协程 背景定义实践GlobalScope.launchrunBlocking业务实践 背景 在项目实践过程中,笔者发现很多异步或者耗时的操作,都使用了Kotlin中的协程,所以特地研究了一番。 定义 关于协程(Coroutine),其实…...
小程序代做/安徽网络关键词优化
题目:企业发放的奖金根据利润提成。 利润(I)低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; 20万到40万之…...
wordpress添加喜欢or分享按钮/端点seo博客
1.为了完成数据的备份,通常在更新表的时候备份一个,如果有问题,那么需要再查找更新到原表中。 将表2中的指定字段的记录更新到表1中: UPDATE gl_journal_line l1 INNER JOIN gl_journal_line_copy4 l2 ON l1.id l2.id and l1.transa…...
wordpress网站自动伪原创/seo优化神器
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串…...
东莞网站推广教程/做推广怎么做
将php.ini 里的short_open_tag off改成short_open_tag On 控制参数: short_open_tag On如果设置为Off,则不能正常解析类似于这样形式的php文件:<?phpinfo()?>而只能解析<?phpphpinfo()?>这样形式的php文件所以要想php支持…...
吴江盛泽建设局网站/企业怎么做好网站优化
题目 题目链接 给定一个有环链表,实现一个算法返回环路的开头节点。 有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。 示例 1: 输入:head [3,2,0,-4], pos 1 输出&…...
企业网站视觉设计/销售怎么做
Linux下网卡名称 修改方法汇总 一、命令修改 1 2 3 4 5 6 7 8 9 10 11 ip linkset eth0 name eth01 ip linkset eth1 name eth10 ip linkset eth2 name eth23 ip linkset eth3 name eth32 ip linkset eth01 name eth1 ip linkset eth10 name eth0 ip linkset eth23 name eth3…...