早在 2022 年,我就注意到应用程序架构发生了微妙的变化,这种变化体现在市场上围绕新协议和数据的讨论中。 这并不奇怪,因为正如我之前提到的,应用程序架构在历史上每五年就会兴起并开始影响应用程序交付和安全市场,并在大约五年后占据主导地位。
2023 年,我认为这种转变将在 2025 年左右显现出来。 但我无法预见生成式人工智能的到来,以及它对这些架构演变的爆炸性影响。
总而言之:这种转变正在发生得更快,并将对一切产生巨大影响。
但为了避免陷入架构演变的泥潭,我们应该真正理解推动它发展的因素:数据。
通常,当有人说“数据”时,听众会立即联想到存储在大型 RDBMS 中某处的一排排客户和产品数据。 好吧,也许不是所有听众都这么认为,但很多听众都这么认为。 这是因为主流数据存储设计倾向于结构化、表格数据。 打开电子表格你就会明白我的意思。 它基于行和列,而 RDBMS 实际上并没有什么不同。
我们可以争辩说,NoSQL 和键值数据存储、对象存储和类似的数据结构存在,因此应用程序架构并不围绕表格数据。 但说实话,他们确实这么做了。 所有其他类型的数据存储都有其使用理由,但大多数理由都是应用的辅助,因此并没有显著改变几十年来指导应用程序构建的整体架构原则。
但应用分布的不断增加以及混合模型推动了许多需求。 例如可观察性和安全性,它们需要生成遥测数据。 分布式需要一种方法来理解分布式数据存储之间的关系,从而产生知识图谱。 生成式人工智能需要增强和训练模型的方法,这导致使用存储在矢量数据库中的嵌入。
这是四种截然不同的数据,并有新的存储和访问方式。 所有这四个方面正在迅速成为现代应用的“标准组件”,特别是那些旨在促进生成式人工智能使用的组件。
推动这一变化的正是数据——它有不同的格式、协议、用途和应用。 结果是一种无头方法,它以许多人以前从未考虑过的方式依赖 API。 也就是说,业务能力和功能以 API 的形式公开,而无需考虑传统的表示层,从而可以为更为强大的用户设备开发更大范围的接口。 API 使数据和功能可访问,这就是它们对数字化转型如此重要的原因。
我们在许多利用微服务的现代应用程序中看到了这种方法。 这就是 UI 框架如此流行(并在互联网上引起争论)的原因。 这些框架用于构建利用 API 访问功能和数据的单独应用程序。 它们是与用于驱动工作流程和向市场提供价值的后端“应用”分开的实体。
所有这些都在推动无头架构的发展。 这种转变早已开始,但生成性人工智能的出现凸显了数据的重要性,并加速了这一转变。
反过来,这将对应用程序交付和安全产生深远的影响,因为必须解决新的威胁和挑战才能满足企业和用户的需求。