2023平台工程崭露头角,AI 带来新机遇与挑战
在今年,平台工程正在迅速在 IT 企业中崭露头角,成为软件开发团队的必要实践。根据 CloudBees 发布的最新报告《2023年平台工程:快速采纳和影响》,83%的受访者已经完全实施了平台工程,或正处于某种实施阶段。
平台工程是一门设计和构建内部开发者平台(IDP)、工具链和工作流程的学科,它为软件工程团队提供了自助服务的能力。
IT 领导者一直在不断面临着要用更少的资源做更多事情的挑战。根据各种研究,开发者每周实际上只用了12.5%到30%的时间来编写代码。这也促使 IT 和 DevOps 领导者迫切寻找新的方法来提高开发者的生产力。由于平台工程建立了改进开发者生产力和开发者体验(DevEx)的最佳实践,因此已经成为备受关注的领域。
平台工程的实践已经成功地分担了开发者的大部分工作负担。调查数据显示,已经采用或计划采用平台工程的水平相当高(83%),其中:
- 20% 已经完全实施
- 33% 正在进行中
- 11% 最近刚刚开始
- 19% 处于规划阶段
仅有17%的受访者表示他们没有计划推出平台工程。

图片来源:CloudBees
平台工程的五个主要推动因素各约占回应的20%,并展示了平台工程对开发者和DevOps团队的重要和广泛好处。采用平台工程的推动因素包括:
- 开发者生产力(21%)
- 持续集成和持续交付(CI/CD)流水线的实施(20%)
- 工具和流程的标准化(20%)
- 安全性增强(20%)
- 基础设施即代码(19%)
业务影响
在过去的10年中,随着DevOps的崛起,平台工程的突出地位通常被归因于“我们忘记了开发者!”的现象。在DevOps崛起期间,许多事情向左移动,进一步加重了开发者的负担,并分散了注意力,使其远离了编码和创新。组织投资于平台工程,以满足多种需求。
与关注开发者生产力一致,平台工程的前五个用例中有三个:
- 开发、测试和生产环境的管理(22%)
- CI/CD 流水线管理(21%)
- 开发者平台即服务(PaaS)(18%)
目标和成功衡量标准
几乎所有最重要的平台工程目标都与 DevEx 和提高开发者生产力相关。排名最高的三个目标是:
- 开发者的自助服务(29%)
- 于采用(25%)
- 满足开发者需求(20%)
平台工程团队的成功衡量标准包括:
- 开发者生产力(23%)
- 内部KPI达标(19%)
- 成本控制(16%)
- 管理工具扩张(13%)
最后,调查显示,组织内的平台工程的归属位置各不相同,但最常见的归属位置包括:
- 云工程(30%)
- 基础设施团队(25%)
- 开发部门(20%)
- 共享服务(13%)
- 运维部门(13%)
根据调查数据显示,许多组织广泛采用平台工程,并将平台工程视为最大程度提高软件开发效率的关键元素。
平台工程与 AI
平台工程在接下来的12至18个月内将会面临什么挑战?
平台团队需要为持续的变化做好准备。公司被收购,新平台被收购(通常不会放弃旧平台),新应用程序和部署模式将继续出现。最近出现的颠覆性技术是生成式人工智能(AI),紧随其后的是人工智能(AI),特别是机器学习(ML)。AI 可以并将被应用于改进平台工程。
然而,像创建、运营和保护软件和系统的其他方面一样,AI/ML和生成式 AI 也带来了挑战。我们看到了三个关键方面:
首先是管理多个大型数据集和模型,这是 ML 算法和生成式 AI 大型语言模型(LLM)的生命线。类似于专门的专家系统,基于企业内部数据训练的特定领域的 LLM 在采用生成式 AI 时将变得尤为重要,前提是要维护数据的隐私和安全。
平台工程必须适应新的 AI 工作流程和数据、提示以及设计、训练和维护模型、向量数据库和大型数据集的 AI 工程师的流水线,这些数据集会不断增长和演变。这些 AI 流水线必须支持其工作流模式的特定要求,并与相互依赖的软件开发流水线和发布流程相一致和整合。
另外 AI/ML 和生成式 AI 通常具有与我们今天理解和运营的云和应用环境分开的操作特性。AI 引入了新的硬件操作环境,包括 AI 加速器、GPU、VPU和高度可扩展的 CPU,以及具有挑战性的性能和优化学习曲线。随着 AI,特别是生成式 AI 在企业中被采用和推广,平台工程将发挥关键作用。
关于 Walrus
Walrus 是基于平台工程理念构建的全新一代应用管理平台,其一键部署和克隆复杂应用系统、集成 AI 大语言模型简化模板代码生成以及灵活强大的应用和环境动态管理能力等特性备受用户青睐。借助 Walrus 用户可以将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设施的复杂度,为研发和运维团队提供易用、一致的应用管理体验,进而构建无缝协作的软件交付流程,加速企业业务创新。开源地址:github.com/seal-io/walrus
参考链接:
- https://www.devopsdigest.com/platform-engineering-2023
- https://www.cloudbees.com/platform-engineering-research
相关文章:
2023平台工程崭露头角,AI 带来新机遇与挑战
在今年,平台工程正在迅速在 IT 企业中崭露头角,成为软件开发团队的必要实践。根据 CloudBees 发布的最新报告《2023年平台工程:快速采纳和影响》,83%的受访者已经完全实施了平台工程,或正处于某种实施阶段。 平台工…...
如何使用python快速修改Excel表单中的大量数据
python修改Excel中的内容进阶加速版 前面有一篇文章讲到了使用python处理Excel中的数据文件,即修改Excel中的数据,但是那个版本的代码跑点小规模、小数据量的excel还行,一旦数据量达到万条级别,代码运行会非常慢!因此&…...
✔ ★【备战实习(面经+项目+算法)】 10.27学习
✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…...
视频分辨率/帧率/码率选择参考
1. 视频码率与分辨率的参考表 1080*720的分辨率,用5000K左右; 720*576的分辨率,用3500K左右; 640*480的分辨率,用1500K左右。 2. 计算公式 基本算法:码率(kb…...
LeetCode75——Day18
文章目录 一、题目二、题解 一、题目 1732. Find the Highest Altitude There is a biker going on a road trip. The road trip consists of n 1 points at different altitudes. The biker starts his trip on point 0 with altitude equal 0. You are given an integer …...
Java NIO 高并发开发
Java NIO 高并发开发 前言 Java NIO(New I/O)相比于传统的Java I/O(BIO)在高并发开发方面具有以下优势: 非阻塞模式:Java NIO使用非阻塞的I/O操作,允许一个线程管理多个通道(Channe…...
8.循环神经网络
#pic_center R 1 R_1 R1 R 2 R^2 R2 目录 知识框架No.1 序列模型一、序列模型二、D2L代码注意点三、QA No.2 文本预处理一、D2L代码注意点二、QA No.3 语言模型一、语言模型二、D2L代码注意点三、QA No.4 循环神经网络 RNN一、RNN二、QA No.5 循环神经网络 RNN 的实现一、从零…...
[C++随想录] map和set的使用
map和set的使用 set初始化finderasecountlower_bound && upper_boundequal_ range mapinsert[ ]运算符 multiset && multimap set — — key模拟 map — — key_value模型 set 初始化 void set_test1() {set<int>s;s.insert(10);s.insert(12);s.insert(…...
公网IP怎么设置?公网ip有哪些优点和缺点?
随着互联网的普及,越来越多的人开始关注网络安全和隐私保护。其中,公网IP的设置成为了一个备受关注的话题。本文将详细介绍公网IP的设置方法以及公网IP的优点和缺点。 一、公网IP设置方法 1. 路由器设置 在家庭或企业网络中,路由器通常是最重…...
蓝桥杯第 2 场算法双周赛 第2题 铺地板【算法赛】c++ 数学思维
题目 铺地板https://www.lanqiao.cn/problems/5887/learning/?contest_id145 问题描述 小蓝家要装修了,小蓝爸爸买来了很多块(你可以理解为数量无限)2323 规格的地砖,小蓝家的地板是 nm 规格的,小蓝想问你…...
APScheduler-调度器 BackgroundScheduler
当你有主程序需要执行,让定时任务在后台执行时,可以用BackgroundScheduler from apscheduler.schedulers.background import BackgroundScheduler import time # 仅运行定时任务 scheduler BackgroundScheduler() # interval example, 间隔执行,…...
浅谈UI自动化测试
随着软件行业的不断发展,建立一个完善的自动化测试体系变得至关重要。目前,自动化测试主要涵盖接口自动化测试和UI自动化测试两个主要领域。就目前而言,企业在UI自动化测试方面的覆盖率仍然相对较低。 接口自动化测试可以模拟和执行应用程序…...
golang 工程组件 grpc-gateway—yaml定义http规则,和自定义实现网关路由
yaml定义http规则,和自定义实现网关路由 proto定义http规则总归是麻烦的,因为proto文件还是定义消息,grpc接口好一些。配置http规则有更好的方式。我们可以使用yaml文件定义接口的http规则。 同时有些接口不是只是让网关转发这么简单 有时需…...
在NLP中一下常见的任务,可以用作baseline;MRPC,CoLA,STS-B,RTE
1.MRPC(Microsoft Research Paraphrase Corpus)任务 是一个用于文本匹配和相似度判断的任务。在MRPC任务中,给定一对句子,模型需要判断它们是否是语义上等价的。MRPC任务的训练集和测试集由约5700对英语句子组成。每个句子对都有…...
【计算机网络笔记】Cookie技术
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...
在虚拟环境中,通过pip安装tensorflow
目录 激活python虚拟环境,更新pip 通过pip 安装tensorflow 确定python版本: 编辑安装tensorflow: 编辑 为什么使用pip安装tensorflow? 激活python虚拟环境,更新pip 命令为python -m pip install --upgrade pip 通过pip 安装tensorf…...
【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题
【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题 1 问题描述: 我用restframework(ModelSerializerGenericApiView)开发了一组符合RestFul接口标准的接口,这意味着它将支持客户端发来的GET、POST、…...
神经网络与深度学习第四章前馈神经网络习题解答
[习题4-1] 对于一个神经元 ,并使用梯度下降优化参数时,如果输入恒大于0,其收敛速度会比零均值化的输入更慢。 首先看一下CSDN的解释: 如果输入x恒大于0,使用sigmoid作为激活函数的神经元的输出值将会处于饱和状态&a…...
Go 语言操作 MongoDb
文章目录 连接数据库插入数据库插入一条数据批量插入数据 查询数据用 BSON 进行复合查询聚合查询 更新数据删除数据 连接数据库 package mainimport ("context""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options"…...
UE4/5 竖排文字文本
方法一、使用多行文本组件 新建一个Widget Blueprint 添加Text 或者 Editable Text(Multi-Line) 、TextBox(Multi-Line) 组件。 添加文字,调整字号,调整成竖排文字。 在Wrapping (换行)面板中 : 勾选 Auto Wrap te…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
