软件结构的发展趋势是什么(软件结构的发展趋势是什么意思)

最近有很多网友都在问软件结构的发展趋势是什么这个问题。还有网友想弄明白软件结构的发展趋势是什么意思。对此,碳百科整理了相关的教程,希望能对你有所帮助。

关键点

可移植性的设计正在得到越来越多的采用,因为像Dapr这样的框架专注于云原生抽象模型,并允许架构师将业务逻辑与实现细节分离。

大型语言模型将产生重大影响,从帮助理解架构权衡到为新一代的低代码和无代码开发人员提供支持。

软件的可持续性将是未来几年的主要设计考虑因素。人们正在努力更好地衡量并减少软件系统的碳排放。

去中心化应用程序正在将区块链带出加密货币和NFT范围之外,但缺乏消费者需求将使其只能成为一个较窄的市场需求。

架构师参与团体性活动,他们总是在寻找如何记录、交流和理解决策的改进。这可能是未来大型语言模型将发挥作用的另一个领域。


2023软件架构设计趋势


相对于2022年的趋势变化

今年图表中增加了三个新项目。大型语言模型和软件供应链安全是新的创新趋势,“像团体性运动一样去架构软件”被添加到早期使用者的行列中。

被采纳的趋势包括“可移植性设计”、数据驱动的体系结构和无服务器。eBPF被删除是因为它具有小众应用程序,并且不太可能成为架构决策的主要驱动因素。

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

可移植性设计

“为可移植性而设计”的方面并不在于能够立刻打包代码并移动它。相反,它从基础设施中创建了一个干净的抽象。“设计和构建系统的人可以专注于带来价值的东西,而不必过多地担心他们将要运行的平台细节。”

这种设计理念是由Dapr等框架实现的。Bilgin Ibryam最近的一篇文章描述了云原生应用程序向云绑定应用程序的演变。与为应用程序逻辑和计算基础设施设计具有逻辑组件的系统不同,云绑定应用程序将重点放在集成绑定上。这些绑定包括外部api以及操作需求,如工作流编排和可观测遥测。

另一种支持可移植性设计的技术是WebAssembly,特别是服务器端WebAssembly。WebAssembly通常被认为是一种客户端功能,用于优化浏览器中运行的代码。但是使用WebAssembly对服务器端代码有很大的好处。

大语言模型

关于人工智能的新闻,特别是大型语言模型,如GPT-3和GPT-4,已经不可能被忽视。这不仅仅是软件专业人员使用的工具,正如日常生活中人们所采用的工具和各种形式的媒体报道所证明的那样。但是这对软件架构师意味着什么呢?在某些方面,现在知道会发生什么还为时过早。

虽然未来是不确定的,但我们乐观地认为,这些人工智能模型通常会对我们构建的软件以及我们构建软件的方式产生积极的好处。ChatGPT、Bing聊天和GitHub Copilot的代码生成功能对于编写代码和测试非常有用,并允许开发人员更快地工作。架构师们也在使用聊天机器人讨论设计方案,并进行权衡分析。

虽然这些效率的提高是有用的,但必须注意了解人工智能模型的局限性。他们都有内在的偏见,这些偏见可能并不明显。他们也可能不了解你的业务领域,尽管他们的回答听起来很自信。

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

数据驱动架构

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

数据的结构、存储和处理是预先考虑的问题,而不是在实现过程中处理的细节。在设计云架构时,需要从一开始就考虑数据收集、存储和安全性,这样我们之后才能从中获得价值,包括AI/ML的使用。数据可观察性仍然是一个创新趋势,至少与系统其他部分的可观察性状态相比是这样。

数据网格是一种范式转换,团队围绕数据产品的所有权保持一致。这符合数据驱动体系结构的思想,以及将Conway定律纳入系统的整体设计。

可持续性设计

虽然在可持续性设计方面已经有了更多的应用,但我们选择将其作为一种创新趋势,因为行业才刚刚开始真正拥抱可持续系统和低碳排放设计。我们需要将可持续性视为一个主要特征,而不是在试图降低成本时实现的次要目标。我注意到,最近关于可持续性的讨论越来越多。老实说,可能有一半原因是因为能源更贵了,每个人都想降低运营成本。”

最大的挑战之一是难以测量一个系统的碳排放量。到目前为止,成本一直被用作环境影响的替代品,因为你使用多少计算机和你使用多少碳之间存在相关性。但这种技术有很多局限性。

绿色软件基金会是一个试图帮助创建测量碳消耗的工具的倡议。随着工具的改进,开发人员将能够将碳使用量添加到系统的其他可观察指标中。一旦这些值可见,系统就可以设计和修改以减少它们。

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

去中心化的APP

区块链和分布式账本是去中心化应用程序背后的技术。主要由于Twitter的变化,Mastodon成为了另一种去中心化的社交网络。然而,区块链仍然是一种解决大多数人不认为是问题的技术。由于这种专业市场的适用性,它仍然被归类为创新趋势。

架构师参与团体性运动

架构师不再独自工作,也不再只考虑技术问题。架构师的角色在整个行业中有很大的不同,一些公司已经完全取消了这个头衔,倾向于将“首席工程师”作为主要负责架构决策的角色。这对应于一种更加协作的方法,在这种方法中,架构师与正在构建系统的工程师密切合作,以不断地改进系统设计。

架构决策记录(adr)现在被普遍认为是一种记录和交流设计决策的方法。它们还被用作协作工具,帮助工程师学习做出技术决策并考虑权衡。

本文地址: https://www.tanjiaoyicn.com/n/16076.html

版权声明:本文内容部分来源互联网用户自发贡献或其他公众平台,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,一经查实,本站将立刻删除,如若转载,请注明出处。

发表评论
登录 后才能评论
评论列表(0条)

    联系我们

    93840186

    在线咨询: QQ交谈

    邮件:baban38@163.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注微信