InfoQ 2023 年趋势报告:事件驱动架构、深度学习和人工智能、云原生架构和(人工智能框架比较)

时间:2023-05-19 04:48:29来源:网络整理
导读大语言模型和软件供应链安全是新的创新者趋势,“将架构作为团队运动”被添加到了早期采用者中。被删除掉了,因为它的应用范围较小,而且不太可能成为架构决策的主要驱动力

InfoQ 趋势报告为 InfoQ 读者提供了需要关注的主题概览,帮助 InfoQ 编辑团队关注创新技术。 不仅是报告和趋势图,与之相关的播客也有多名编辑讨论趋势。

更新趋势图

我们将在本文后面更详细地讨论该报告,但首先我们将总结自去年以来趋势图表的变化。

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

获得采用和向左转移的趋势包括“可移植性设计”、数据驱动架构和无服务器。 eBPF 被放弃是因为它的范围较小,不太可能成为架构决策的主要驱动力。

一些趋势被重新命名或合并。 我们认为 Dapr 是“可移植性设计”理念的实现,因此将其作为一个单独的趋势删除。 数据驱动架构是“数据+架构”和数据网格(datamesh)的结合。 区块链被更广泛的去中心化应用程序或 dApps 所取代。 WebAssembly 现在涉及服务器和客户端,因为它们是相关但独立的概念,并且可能在未来独立发展。

便携设计

“为可移植性而设计”中的可移植性并不意味着能够只提取代码并将其移动到其他地方。 相反,它从基础设施中创建了一个简洁的具体概念。 正如 InfoQ 编辑 Vasco Veloso 所说,“设计和构建系统的人可以专注于带来价值的东西,而不必过多担心他们将在其上运行的平台的细节。”

这些设计思想正在被 Dapr 这样的框架实现。 InfoQ 的新闻总监 Daniel Bryant 认为 CNCF 项目的用处在于为构建云原生服务提供了清晰的表示层和 API。 “[集成] 是关于 API 的,[Dapr] 提供了具体的,而不是最小的公分母,”布莱恩特说。

Bilgin Ibryam 最近的一篇文章描述了云原生应用程序向云绑定应用程序的演变。 与预估基础设施的应用程序逻辑和逻辑组件设计系统不同,云合格应用程序专注于集成绑定。 此绑定包括外部 API,以及工作流编排和可观察性遥测等操作要求。

支持可移植性设计的另一种技术是 WebAssembly,尤其是在服务器端。 一般来说,

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

与其编译成Docker容器,然后在orchestrator的容器中启动整个系统,还不如编译成WebAssembly,让容器更轻量。 它的创建非常安全,因为它最初的目的是运行浏览器。 它可以在任何地方运行:在任何云或任何 CPU 上。 ——伊兰·斯蒂勒

有关 Dapr 和 WebAssembly 的更多信息,您可以关注 InfoQ 上的相关主题。

大语言模型

AI 相关的新闻,尤其是像 GPT-3 和 GPT-4 这样的大型语言模型,长期以来一直让我们难以忽视。 正如日常使用和媒体以各种方式报道所证明的那样,它不仅仅是软件专业人士的工具。 而且,这对软件架构师意味着什么? 在某种程度上人工智能框架比较,现在判断未来会怎样还为​​时过早。

使用 ChatGPT 和 Bing,我们刚刚听说了像 GPT-3 这样的大型语言模型的可能性。 这就是创新者趋势的定义。 我不知道结果会是什么,但这肯定很重要,我期待看到它在未来几年的发展情况。 ——托马斯·贝茨

虽然未来不确定,但我们持开放态度,认为这种 AI 模型将对我们构建的软件和构建软件的形式产生积极影响。 ChatGPT、Bingchat 和 GitHub Copilot 的代码生成功能对于编写代码和测试非常有帮助,让开发者可以更快地工作。 架构师还可以使用聊天机器人来讨论设计备选方案和分析权衡。

虽然这种效率提升很有用,但必须了解 AI 模型的局限性。 他们有可能不那么明显的内在偏见。 即使他们看起来很有信心地回应,他们也可能不太了解您的领域。

这肯定会成为 2023 年值得关注的主要趋势,因为新产品是建立在大语言模型之上的,而且公司会想方设法将它们集成到现有系统中。

数据驱动架构

今年,我们讨论了“数据+架构”的概念,以了解架构师在设计系统时如何以不同的方式思考数据。 去年,我们在“数据驱动架构”的标题下将这个想法与 DataMesh 相结合。

数据的结构、存储和处理都是前期关注的问题,而不是实施过程中要处理的细节。 QCon New York 编程委员会成员 BlancaGarcia-Gil 表示,“在设计云架构时,需要从一开始就考虑数据收集、存储和安全性,这样我们才能在后期从中提取价值,包括使用人工智能/机器学习”。 Garcia-Gil 还强调,数据可观察性仍然是一种创新趋势,至少与系统其他部分的可观察性相比是这样。

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

可持续性设计

虽然设计可持续性已得到更多采用,但我们仍然将其视为创新趋势,因为该行业才刚刚开始真正接受可持续系统和低碳足迹设计。 在降低成本方面,我们需要将可持续性作为主要特征,而不是次要目标。 “我注意到最近有很多关于可持续性的讨论。 坦率地说,可能有一半是因为能源变得越来越贵,每个人都想降低运营成本,”Veloso 说。

这方面最大的挑战之一是无法判断系统的碳足迹。 直到现在,成本仍然是环境影响的一个替代指标,因为估计花费的金额与使用的碳量之间存在某种相关性。 此外,这些技术有很多局限性。

红色软件基金会 (GreenSoftwareFoundation) 是一项旨在创建工具以监测碳消耗的倡议。 在 QCon Paris 大会上,Adrian Cockcroft 概述了三大云提供商(AWS、Azure、GCP)在碳检测方面的现状。

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

这也与可移植性和云原生框架的理念有关。 如果我们的系统更便携,这意味着我们可以更轻松地调整它们以尽可能以最环保的形式运行。 这可能涉及将资源连接到使用红色能源的数据中心人工智能框架比较,或者在可用能源变得越来越红和绿时处理工作负载。 我们不再假设晚上是服务器不忙时运行工作负载的最佳时间,因为太阳能可能意味着傍晚的早晨是最红和最绿的时间。

去中心化应用程序 (dApps)

区块链和分布式账本是去中心化应用程序背后的技术。 随着 Twitter 的变化,Mastodon 作为一种替代的、去中心化的社交网络进入了公众视野。 而且,区块链技术致力于解决的问题,在大多数人看来,仍然根本不是问题。 由于适用场景的冷门,它仍然被归类为创新者趋势。

框架作为一项团队运动

架构师不再是一个人工作,架构师也不再只考虑技术问题。 架构师的角色在整个行业中差异很大,一些公司已经完全取消了这一头衔,取而代之的是主要负责架构决策的“首席工程师”角色。 这对应于一种更加协作的工作方式,架构师与构建系统的工程师密切合作,以持续构建系统设计。

架构师仍将与软件团队合作,提出并迭代设计。 我一直听说这里有不同的角色(尤其是在较大的组织中),最重要的是,通过概念验证进行沟通和协作,因此尝试设计。 ——布兰卡·加西亚-吉尔

今天,架构决策记录(ArchitectureDecisionRecord,ADR)通常被认为是一种记录和交流设计决策的形式。 它们还可以用作协作工具,帮助工程师学习做出技术决策和权衡取舍。

原文链接:

软件架构与设计 InfoQTrends 报告 - 2023 年 4 月

最新文章