AICon议程上新60%,阿里国际、360智脑、科大讯飞、蔚来汽车分享大模型探索与实践 了解详情
写点什么

InfoQ 2022 年趋势报告:架构与设计篇

作者:Thomas Betts, Eran Stiller, Vasco Veloso 等

  • 2022-04-12
  • 本文字数:3497 字

    阅读完需:约 11 分钟

InfoQ 2022年趋势报告:架构与设计篇


每年,InfoQ 的编辑们都会讨论我们在整个软件开发领域所观察到的情况,并编制一些趋势报告,每份报告都有自己的采用曲线图。这有助于编辑团队将报告重点放在创新性技术和想法上,同时也让我们的读者对于需要关注的主题有个全局的认识。

 

该报告主要有两部分。第一部分是你正在阅读的这份书面报告,包括趋势图和过去一年中个别新增加或有变化的条目的详细介绍,以及 InfoQ 编辑们的概括性分析。

 

报告的第二部分是InfoQ播客上的一集内容。感兴趣的读者可以收听编辑们的部分对话,以及来自我们专家小组的一些轶事。

趋势图更新

2021 年,我们研究了架构师实现其设计的许多方式,考虑了主要的“非功能性需求(-ilities)”。今年,我们将“安全设计”添加到了该列表中,并在早期采用阶段就考虑。安全一直是一个考量因素,在设计一个系统及其组件时,及早并反复考虑安全问题越来越重要。

 

架构可能不是 DevSecOps 这个三元混合词的一部分,但它是这个理念的一个底层构件。网络安全和软件架构之间也有很多相似之处,这一点我们在 InfoQ 播客中与Maxime Lamothe-Brassard讨论过

 

我们考虑过添加“可扩展性设计”,但最终认为,可以从“弹性设计”和其他适应可扩展性的趋势之下捕获到这些信息。在大流行的第二年,在线服务消费继续增长,企业必须能够扩大规模才能满足需求。

 

eBPF,即扩展的伯克利包过滤器,是对 Linux 内核进行编程的一种方式。它允许开发者在运行时向操作系统添加功能。我们已经把 eBPF 作为一个创新趋势,并将在未来几年观察其采用情况。Liz Rice 在最近一期InfoQ播客中对该技术做了很好的概要介绍。

 

将”下一代 GraphQL“改为”GraphQL Federation“,因为它是各公司在其现有 GraphQL 实现之上所做的最重要的工作。

 

“数据网关”被删除,取而代之以“数据+架构”。另外,“架构师电梯”被替换为“架构决策记录”。下文会详细讨论这些变化。

 

Dapr 和 WebAssembly 都从创新变为早期采用。

 

有几个条目被删除了,因为在过去几年里没有被采用,也没有足够的创新,包括开放应用模型(OAM)和 RSocket&Reactive Streams。

数据+架构

我们看到了一个变化,从数据只在系统存储或传输层被考虑,到数据成为系统定义的一个元素。这在人工智能/ML 系统中尤其明显。这些系统是基于数据构建的,在事件源这样的设计模式中也是如此。有时,它表现为一个明确定义的概念,如数据网格,我们将把它作为一个独立的创新趋势继续关注。更多时候,架构师们只是考虑数据的方式不同而已,所以我们在今年的趋势图上增加了“数据+架构”。

 

InfoQ播客的采访中,Neal Ford 和 Mark Richards 谈到了在他们的新书 Software Architecture: the Hard Parts 中加入数据相关章节的必要性。Neal 说:


我们想确保我们提供了更全面的信息,因为我们坚信,数据加架构将是未来几年备受关注的主题之一。这也是我们现在在做的很多专业工作的主题——处理好这种关系,并使之成为一种顺利的工作关系,需要 DBA 和架构师之间的合作,还要使这些实践成为我们在架构和设计中习以为常的实践。


数据+架构包含了一些搜索引擎友好的术语,比如在趋势图上被它取代的数据网关。它还包括数据质量等概念,以及试图解决“我们如何确保我们使用的数据是正确的?我们如何知道它是否符合我们的预期?”这个问题的工具。这个问题不处理,其后果可能是灾难性的。

 

InfoQ 编辑 Eran Stiller 供职于Badook,他在工作中会考虑数据质量问题。他对这个问题的看法如下:


现如今的公司越来越依赖人工智能和机器学习算法。他们利用这些算法改善客户体验,预测销售和库存水平,并获得对其业务的宝贵洞察力。在某些情况下,它们甚至在没有人类干预的情况下完全自动化地做出决定。这些算法依赖于数据。如果数据好,用它构建的模型就可用。但遗憾的是,我们的数据会随着时间的推移而变化,其质量也在下降。数据收集出现错误,数据管道可能在不经意间对我们的数据造成破坏,而我们之前对数据所做的假设可能随着时间的推移不再有效,可能会造成灾难性的商业后果。

 

例如,房地产公司Zillow最近减记了5亿多美元,因为它用于预测房价和驱动其商业决策的数据模型未能适应不断变化的现实。

 

此外,世界各地的监管机构,如欧盟,正在对人工智能算法的创建和使用方式进行监管。最近,美国国会也出台了类似的《算法责任法案》。这些法规的一个关键部分将是确保用于推导算法的数据是正当的。

 

因此,我预测,数据质量和可靠性将成为大多数(如果不是所有)科技公司越来越关注的话题。就像测试代码一样,我们应该测试和验证我们的数据,确保它符合我们的期望。如果不这样做,我们可能会在某天早上醒来时,将我们的商业战略置于错误的预测之上,或者更糟糕,做出灾难性的全自动财务决策,这可能使我们损失数十亿美元。我相信,没人希望陷入这样的境地。

架构师与架构

在整个行业中,对架构师角色以及软件架构与设计实践的定义莫衷一是。许多公司都没有软件架构师的职位,而那些有这个职位的公司,其职责也有很大的差异。尽管如此,软件总是要设计,并且总是有一个架构。我们所面临的挑战是如何识别创新性的架构方式,以及这如何体现在软件架构师的角色中。

 

这个想法很难浓缩成趋势图上一个简短的概念。去年,我们有“架构师电梯”。Gregor Hohpe 的这个想法是说架构师需要在组织的多个层面上进行沟通。在此之前,我们有“架构师作为技术领导者”。这两个概念都属于早期采用的范畴。这主要是来自一种直觉,它们不一定是创新性的,但也没有被广泛采用。

 

今年,我们将“架构决策记录(ADR)”添加到早期采用。关于 ADR,Michael Nygard 在 2011 年发表了一篇很好的文章。大多数软件团队都熟悉“盒子和箭头”架构图,这无论是对于记录系统的期望状态还是当前状态都很有用。

 

然而,了解为什么做出这些设计决策通常是有好处的,这就是 ADR 的目的。通过记录决策,以及当时考虑的其他选项和所做的权衡分析,如果将来需要更新设计,ADR 就会非常有用,或者仅仅是在设计受到质疑时作为一种提醒。

 

构建分布式系统以及由半自主团队构建微服务有一个副作用,就是架构决策也变得分散。因此,架构师需要帮助团队执行架构任务,如权衡分析、做出正确的决策、记录和沟通这些决策。Andrew Harmel-Law认为,ADR 可以成为扩展软件架构的一个重要组成部分。

 

要了解更多关于架构师角色和软件架构实践的讨论,我强烈建议你听一听相应的播客



作者简介

Thomas Betts 是 InfoQ 架构与设计版块的首席编辑,也是 InfoQ 播客的联合主持人,同时还是 Blackbaud 高级首席软件架构师。二十多年来,他一直专注于提供让客户满意的软件解决方案。他曾供职于多个行业,包括零售、金融、医疗、国防和旅游。Thomas 与他的妻子和儿子住在丹佛,他们喜欢徒步旅行以及探索美丽的科罗拉多州。


Eran Stiller 是 Badook(位于澳大利亚墨尔本)的首席软件架构师。作为一名经验丰富的软件架构师和 CTO,Eran 设计、实施和审核过多个业务领域的各种软件解决方案。凭借在软件开发领域的多年经验,以及在公开演讲和社区贡献方面的记录,微软自 2016 年起授予他微软 Azure 最有价值专家(MVP)称号,并自 2018 年起让其担任微软区域总监(MRD)。


Vasco Veloso 从事软件开发和设计已有二十多年了。从汇编到 C、C++和 Prolog,再到 Java、Scala 和 Kotlin,从大型计算机到小型计算机,从软盘到 SSD,从企业内部到云端,他都见过,做过,也用过。他带领团队齐心协力开发出精心设计的软件。他还喜欢通过教学分享知识,并继续设计软件和联网设备。在业余时间,他喜欢探索阿姆斯特丹这座城市。他喜欢摄影,并对航空业非常感兴趣。他曾驾驶过超轻型飞机,并且相信,只要保持必要的专注,他就可以继续飞行,到达目的地,并享受沿途的风景。


Daniel Bryant 在 Ambassador Labs 担任 DevRel 部门的总监,同时也是 InfoQ 的新闻经理和 QCon 伦敦大会的主席。目前,他主要致力于“DevOps”工具、云/容器平台和微服务实现。Daniel 是伦敦 Java 社区(LJC)的领导者。他为多个开源项目做贡献,为 InfoQ、O'Reilly 和 DZone 等知名技术网站撰稿,并定期在 QCon、JavaOne 和 Devoxx 等国际会议上发表演讲。


Sarah Wells 做了 20 年的开发,领导过咨询、金融服务和媒体行业的交付团队。使用基于微服务的架构构建 FT 的内容和元数据发布平台,使她对可操作性、可观察性和 DevOps 产生了浓厚的兴趣。2018 年初,她承担起了金融时报的运营和可靠性职责。最近,Wells 转而接管工程实施部门,将平台和安全工程加入其中。她在金融时报领导了多个团队,为其他工程师构建工具和服务。2021 年底,Wells 离开 FT。她决定在采取下一步行动之前休息一段时间。您可以通过 Twitter 联系她(@sarahjwells)。

 

原文链接:

Software Architecture and Design InfoQ Trends Report—April 2022

2022-04-12 09:346735

评论

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

TiDB CDC 近期遇到问题总结

TiDB 社区干货传送门

监控 迁移 集群管理 管理与运维

苹果手机数据恢复Disk Drill pro中文版下载 Disk Drill破解版 for mac/win

理理

扣子专业版:低代码能力+专业级SLA,让“企业级 AI Bot”更快落地

新消费日报

第三届Apache Flink 极客挑战赛暨AAIG CUP比赛攻略_大浪813团队

阿里云天池

支持纳管达梦数据库的堡垒机有哪些?咨询电话多少?

行云管家

数据安全 堡垒机 国产化

实时3D渲染 KeyShot 9 Pro中文版 及KeyShot 9 Pro安装教程 mac/win

理理

大型IM稳定性监测实践:手Q客户端性能防劣化系统的建设之路

JackJiang

即时通讯;IM;网络编程

高效的AirPods耳机管理工具 AirBuddy for Mac v2.6.3汉化版

理理

好用的chm阅读器iCHM Reader for Macv2.1.3中文直装版

理理

旧世界OldWorld Mac版下载安装 含dlc 旧世界OldWorld 中文版

理理

搜款网商品列表数据接口(vvic.item_search)使用指南

tbapi

搜款网 搜款网API接口 搜款网商品列表数据接口 vvic VVIC网数据采集

苹果电脑装机必备解压缩软件:Keka for Mac

理理

[亲测兼容m1/m2]战锤 40000 盗贼商人for mac破解版 战锤 40000 盗贼商人游戏下载

理理

比特币价格跌破 63,000 美元,引发清算潮激增

dappweb

在日本为什么 mysql都被tidb所替换?

TiDB 社区干货传送门

数据库架构设计 8.x 实践

axure rp8安装包 Axure RP 8 中文授权版下载 mac/win

理理

【论文速读】| 在安全运营中心使用大语言模型来实现威胁情报分析工作流程的自动化

云起无垠

网页文本分类题赛后总结(排名第二)

阿里云天池

瓜子二手车在财务中台结账核心系统 TiDB&TiFlash 实践

TiDB 社区干货传送门

数据库架构选型 HTAP 场景实践 数据中台场景实践

TiDB监控prometheus常用技巧

TiDB 社区干货传送门

监控 实践案例 集群管理 管理与运维

后端开发和你聊聊JVM如何优化

京东零售技术

后端 企业号 8 月 PK 榜 #JVM

能帮你找到大客户的企业全历史行为数据长什么样?

客户在哪儿AI

人工智能 ToB营销 大客户营销

【IT运维】医院IT运维难点解析看这里!

行云管家

医院 IT 运维

从代码操作到洞察发现:API 接口中的商品详情数据世界

Noah

淘宝商品详情API返回值中的商品标签与分类

技术冰糖葫芦

API 安全 API 文档 API 测试 pinduoduo API

学习软件测试有哪些培训机构?

测试人

软件测试

One Switch mac版 菜单栏一键开关控制神器

理理

金融知识挖掘

阿里云天池

为啥你心里想了什么抖音就会给你推什么?

客户在哪儿AI

人工智能 ToB营销 大客户营销

Subversion客户端 smartsvn mac破解版 永久使用版 支持m1m2Intel

理理

SmartSVN mac破解版 Subversion(SVN)客户端

InfoQ 2022年趋势报告:架构与设计篇_架构_InfoQ精选文章