写点什么

InfoQ 2023 年趋势报告:事件驱动架构、深度学习和人工智能、云原生架构和容器化技术

作者:Thomas Betts, Blanca Garcia Gil 等

  • 2023-05-10
    北京
  • 本文字数:2964 字

    阅读完需:约 10 分钟

InfoQ 2023 年趋势报告:事件驱动架构、深度学习和人工智能、云原生架构和容器化技术

InfoQ 趋势报告为 InfoQ 的读者提供了需要关注的主题的概览,同时帮助 InfoQ 编辑团队关注创新性的技术。除了该报告和趋势图之外,与之相关的播客会有多位编辑讨论这些趋势。


趋势图的更新


在后文中,我们会对报告进行更详细的阐述,但我们首先总结一下去年以来趋势图的变化。


今年有三个新的条目添加到了图表中。大语言模型和软件供应链安全是新的创新者趋势,“将架构作为团队运动”被添加到了早期采用者中。


获得采用并转移到右侧的趋势包括“可移植性设计”、数据驱动架构和 serverless。eBPF 被删除掉了,因为它的应用范围较小,而且不太可能成为架构决策的主要驱动力。


有些趋势进行了重命名或进行了合并。我们认为 Dapr 是对“可移植性设计”理念的实现,所以作为一个单独的趋势,它被移除掉了。数据驱动架构是“数据+架构”和数据网格(data mesh)的组合。区块链被替换为更广泛的去中心化的应用,或 dApps 的概念。WebAssembly 现在同时涉及到了服务端和客户端,因为这些都是相关但独立的想法,并可能在未来独立演进。

可移植性设计


“可移植性设计”中的可移植性指的并不是能够将代码拿出来并转移到别的地方去。相反,它从基础设施中创建了一个整洁的抽象概念。正如 InfoQ 编辑 Vasco Veloso 所言,“设计和构建系统的人可以专注于能够带来价值的东西,而不必过多担心它们将要运行的平台的细节。”


这种设计理念正在被 Dapr 这样的框架所实现。InfoQ 的新闻经理 Daniel Bryant 认为 CNCF 项目的好处在于为构建云原生服务提供了一个清晰的抽象层和 API。Bryant 说,“[集成]的关键在于 API,而[Dapr]提供了抽象,而不做最低限度的共同标准”。


Bilgin Ibryam 在最近的一篇文章中描述了云原生应用向云限定(cloud-bound)应用的演变。云限定应用不是使用应用逻辑和计算基础设施的逻辑组件来设计一个系统,而是把关注点放到集成绑定上。这些绑定包括外部 API,以及像工作流编排和可观测性遥测这样的运维需求。


另一项支持可移植性设计的技术是 WebAssembly,尤其是服务器端的 WebAssembly。通常,

WebAssembly 被视为客户端的功能,用于优化在浏览器中运行的代码。但是,使用 WebAssembly 对服务器端的代码大有益处。InfoQ 的编辑 Eran Stiller 描述了创建基于 WebAssembly 的容器的过程。


与其将它编译为 Docker 容器,然后在编排器的容器中启动整个系统,还不如将其编译为 WebAssembly,这样能够使容器更加轻量级。它的构建是非常安全的,因为它的最初目的是用来运行浏览器的。而且它能够在任何地方运行:在任意云或任意 CPU 上。——Eran Stiller


关于DaprWebAssembly的更多信息,可以关注 InfoQ 相关的主题。

大语言模型


AI 相关的新闻,尤其是像 GPT-3 和 GPT-4 这样的大语言模型,已经让我们无法忽视了。正如人们日常使用和各种形式的媒体报道所证明的那样,它不仅仅是软件专业人员使用的工具。但是,它对软件架构师意味着什么呢?在某种程度上来讲,现在断言未来会发生什么还为时尚早。


借助 ChatGPT 和 Bing,我们刚刚看到像 GPT-3 这样的大语言模型的可能性。这就是创新者(innovator)趋势的定义。我不知道会有什么样的结果,但它肯定是非常重要的,我期待在未来几年看到它的发展。——Thomas Betts


虽然未来是不确定的,但我们乐观地认为,这些 AI 模型会对我们构建的软件以及构建软件的方式产生积极的影响。ChatGPT、Bing chat 和 GitHub Copilot 的代码生成功能对编写代码和测试很有助益,能够让开发人员更快地开展工作。架构师也可以使用聊天机器人来讨论设计方案和分析权衡利弊。


尽管这些效率提升是很有用的,但是必须要了解 AI 模型的局限性。它们有内在的偏见,这可能并不那么显而易见。虽然看起来它们的回应信心满满,但它们可能并不了解你的领域。


这肯定是 2023 年需要关注的一个主要趋势,因为新产品是建立在大语言模型之上的,而公司找到了将它们集成到现有系统的方法。

数据驱动架构


去年,我们讨论了“数据+架构”的理念,以此来掌握架构师在设计系统时该如何以不同的方式来考虑数据。今年,我们在“数据驱动架构”的标题下,将这一理念与数据网格(Data Mesh)结合了起来。


数据的结构、存储和处理都是前期要关注的问题,而不是在实现过程中要处理的细节。QCon 伦敦编程委员会的成员 Blanca Garcia-Gil 说,“在设计云架构时,有必要从一开始就考虑数据的收集、存储和安全性,这样以后我们就可以从中获取价值,包括使用 AI/ML”。Garcia-Gil 还指出,数据可观测性依然是一个创新者趋势,至少与系统中其他部分的可观测性相比是这样的。


数据网格是一种范式的转变,团队围绕着数据产品的所有权进行调整。这符合数据驱动架构的理念,也会将康威法则纳入系统的整体设计。

设计可持续性


尽管设计可持续性得到了更多的采用,但是我们依然将其作为一个创新者趋势,因为行业刚刚开始真正接受可持续系统以及面向低碳足迹的设计。我们需要将可持续性作为一个主要特性,而不是在降低成本时的次要目标。Veloso 说,“我注意到最近有很多关于可持续性的讨论。坦白讲,可能有一半的原因是因为能源价格更加昂贵,每个人都想要减少 OPEX”。


在这方面,最大的挑战之一是难以衡量系统的碳足迹。到目前为止,成本一直作为环境影响的替代方案,因为耗费的计算量与使用了多少碳之间存在一定的关联性。但是,这种技术有很多的局限性。


绿色软件基金会(Green Software Foundation)是一个致力于创建工具来测量碳消耗的计划。在 QCon 伦敦会议上,Adrian Cockcroft 概述了三大云供应商(AWS、Azure、GCP)目前在碳测量方面的情况


随着工具的改进,开发人员将能够把碳使用添加到系统的其他可观测性指标中。一旦数据可见,就可以设计和修改系统以减少它们。


这也与可移植性和云原生框架的理念息息相关。如果我们的系统更具可移植性,这意味着我们能够更容易地调整它们,以最环保的方式运行。这可能涉及到将资源移动到使用绿色能源的数据中心,或者在可用能源更加绿色环保的时候处理工作负载。我们不再假定在服务器不繁忙的夜间是运行工作负载的最佳选择,因为太阳能可能意味着白天的中午是最绿色环保的时间。

去中心化应用(dApps)


区块链和分布式账本是去中心化应用背后的技术。随着 Twitter 的变化,作为一个替代性的、去中心化的社交网络,Mastodon 得以进入大众视野。但是,区块链技术所致力于解决的问题依然被大多数人认为这根本并不是什么问题。由于适用场景的小众性,它依然被归类为创新者趋势。

将架构作为团队运动


架构师不再独自开展工作,架构师也不再只思考技术问题。在行业中,架构师角色的差异很大,一些公司已经完全取消这个头衔,而倾向于让“首席工程师(principal engineer)”作为主要负责架构决策的角色。这对应了一种更加强调协作的工作方式,架构师与构建系统的工程师紧密合作,不断完善系统设计。


架构师会一直与软件团队合作,提出并迭代设计。我会持续看到这里有不同的角色(尤其是在较大的组织中),但是最重要的是,要通过概念验证进行沟通和协作,从而对设计进行尝试。——Blanca Garcia-Gil


现在,架构决策记录(Architecture Decision Record,ADR)被普遍认为是记录和交流设计决策的一种方式。它们也可以用作协作工具,帮助工程师学会做出技术决定和考虑权衡利弊。


原文链接:

Software Architecture and Design InfoQ Trends Report - April 2023


相关阅读:

InfoQ 2023 年趋势报告:影响组织文化的两个最大的因素是大裁员和 ChatGPT 等大型语言模型

2023-05-10 08:009609

评论

发布
暂无评论
发现更多内容

TiDB x Flink 数据集成实践

TiDB 社区干货传送门

eBPF的发展演进---从石器时代到成为神(五)

统信软件

操作系统 Linux Kenel

如何优雅的使用策略模式

做梦都在改BUG

从不均匀性角度浅析AB实验 | 京东云技术团队

京东科技开发者

A/B 测试 AB实验 企业号 4 月 PK 榜 不均匀 实验准确度

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

测试人

软件测试 自动化测试 测试开发 测试用例 ChatGPT

软硬件负载均衡 IP 地址透传

TiDB 社区干货传送门

数据库架构设计 数据库连接

GitHub下载已过百万!阿里这份Java虚拟机源码剖析手册真的绝了

做梦都在改BUG

Java JVM 虚拟机

GitHub经典教材!阿里P8的这份SpringBoot精髓到底厉害在哪里?

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

App Store上架流程/苹果app发布流程

雪奈椰子

手把手教你成为 TiDB 的 Contributor

TiDB 社区干货传送门

实践案例 故障排查/诊断 TiDB 源码解读

一文理清 TiDB 与 MySQL 中的常用字符集及排序规则

TiDB 社区干货传送门

新版本/特性解读 6.x 实践

深度学习模型可视化-keras版

AIWeker

Python 深度学习 可视化 keras 三周年连更

节前超级干货福利放送!这可能是最实用的 Conan 管理依赖贴

Zilliz

非结构化数据 Milvus Zilliz 向量数据库 依赖管理

新浪张俊林:大语言模型的涌现能力——现象与解释

NLP资深玩家

中移链控制台对接4A平台功能验证介绍

BSN研习社

2023 年最新版Java面试题及答案整理(纯干货,超详细)

架构师之道

Java 面试

全球首个开发者村启动开村,产业聚力松山湖,共创大湾区创新高地

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

软件测试/测试开发丨面试题之软素质与反问面试官篇(附答案)

测试人

软件测试 自动化测试 测试开发 测试用例 ChatGPT

BSN-DDC基础网络详解(十):官方DDC应用SDK

BSN研习社

2023年免费的堡垒机就用行云管家!安全感满满!

行云管家

网络安全 等保 小微企业

TiDB x Flink x Iceberg 实时 ODS 实践

TiDB 社区干货传送门

ShareSDK 新浪微博平台注册指南

MobTech袤博科技

任务编排:CompletableFuture从入门到精通

做梦都在改BUG

Java CompletableFuture

干货好文 | 两地三中心到异地双活演变及关键技术探讨

沃趣科技

MySQL 数据库 opengauss

你不想成长,生活总会逼着你成长,阿里P8架构师分享十年学习生涯

程序知音

Java redis spring java架构 后端技术

springboot升级过程中踩坑定位分析记录 | 京东云技术团队

京东科技开发者

spring Spring Boot release 企业号 4 月 PK 榜

TiSpark v3.0.3 & v3.1.3 发布

TiDB 社区干货传送门

新版本/特性解读

政务智能办体验升级、乳腺癌创新药加速研发,飞桨和文心大模型驱动应用智能涌现

飞桨PaddlePaddle

百度飞桨

长春市做等保评测的公司有几家?名单有哪些?

行云管家

等保 等保测评 长春

浅谈复杂业务系统的架构设计 | 京东云技术团队

京东科技开发者

架构 DDD 架构设计 企业号 4 月 PK 榜 复杂系统

5月7日【飞天Club × 云原生技术实践营—飞天免费计划实践专场】开启报名

阿里巴巴云原生

阿里云 云原生 飞天Club

InfoQ 2023 年趋势报告:事件驱动架构、深度学习和人工智能、云原生架构和容器化技术_架构_InfoQ精选文章