关键要点
- 在云原生世界中,架构师正在重新安排他们认为最重要的功能的优先级。创新型架构师的设计是关于弹性、可观察性、可移植性和可持续性方面的设计。
- Dapr和开放应用程序模型(OAM)是用于构建分布式系统更容易的两种方法,未来如何采用它们将是一件有趣的事情,可以持续关注。
- 在单体应用和微服务之间摇摆到极端之后,钟摆似乎要停止了。因此,架构师依赖于成熟的模式和设计,这些模式和设计侧重于高内聚和低耦合,而不管底层技术如何。
- 在完全远程的工作环境中,架构师们正在寻找新的方式与他们的团队进行交流,并寻找有助于收集知识的水冷器聊天的替代品。
- 下一代GraphQL特性,特别是GraphQL联合和GraphQL微服务,显示了在公司大力采用GraphQL之后下一步的发展方向。
为___设计
随着采用率的进一步下降,异步编程技术和事件驱动体系结构的采用率稳步上升。这种采用是实现异步模式的入门门槛较低的结果,也是增强系统弹性的内在好处。 然而,事件驱动体系结构和异步系统的另一面是,一般来说,它们仍然很难推理和理解。这与可观测性设计的兴起有关。通常,可观测性被视为一种运行时需求。我们能否判断系统是否按预期运行?但是,对于架构师来说,可观测性作为设计时的需求正变得越来越重要,我们能理解复杂系统中发生的所有交互吗?
到2021年,创新者们正在寻找方法,几乎自动地提供运行时和设计时的可观测性优势。通过消除开发人员必须手动实现可观察性非功能性需求的负担,关键组件从系统的大局中消失的可能性就会降低。这样就可以利用可观察性来创建精确的、生动的体系结构图,以及相应的系统心理模型。
架构师关注的另一个领域是设计可移植性,无论是针对多云还是混合云。在大多数情况下,架构师没有理由设计最低公分母来实现真正的多云可移植性或避免供应商锁定。然而,尤其是在公司收购的情况下,CTO更有可能拥有在单独的托管环境中运行的系统,包括AWS、Azure、GCP和on-prem。在做出有关标准化的决策时,架构师需要应对挑战。
霍利·康明斯(hollycummins)就可持续性设计这一新的创新者趋势发表了演讲。之所以出现这种情况,是因为人们意识到,软件行业的碳使用水平相当于航空业。其中一些几乎可以直接测量,因为计算使用的费用与能源消耗高度相关。CTO和架构师可以产生影响的地方是减少不必要的计算使用或利用更可持续的云托管选项。一些云数据中心使用100%的绿色能源,而弗吉尼亚州的数据中心则使用煤炭。如果延迟不是一个问题,那么托管在冰岛而不是弗吉尼亚可能是有意义的。尽管许多公司纯粹出于经济原因希望降低托管成本,但一些公司选择将可持续性作为优先事项,并相应地设计架构和部署其系统。
正确构建分布式系统
微服务的主题在趋势图中稳步移动,并在一段时间内被归类为后期主流趋势,因为构建分布式系统变得更加容易。然而,我们仍看到一些人反对过度使用微服务,试图解决所有问题。在某些情况下,这导致了重大的逆转,比如回到一块单体应用上。当钟摆停止摆动时,似乎我们终于为大多数系统设定了一个理智的方法。
围绕构建分布式系统或模块化整体的一些趋势,都回到了基本的体系结构原则,例如高内聚性和低耦合性。领域驱动设计虽然被认为是一种后期的主流趋势,仍然受到架构师们的重视,他们在系统中寻找良好的上下文映射和识别边界的指导。类似地,C4模型可以非常有用地创建一组层次结构图来帮助理解您的系统。
数据体系结构
InfoQ在软件体系结构和数据体系结构之间的重叠中继续看到创新。去年添加到图表中的数据 格(Data Mesh)仍然是今年的创新趋势。它由数据 关连接起来,数据 关有点像API 关,但侧重于数据方面。由于微服务已经形成了多语言持久层,API 关提供了抽象、安全、伸缩、联合和契约驱动的开发特性。
架构师的角色
我们继续研究软件架构师在他们的组织中扮演的角色。除了传统的“盒子和箭头”职责之外,架构师还充当其他团队成员的技术领导者和导师。架构师还需要能够与许多观众交流,Gregor Hohpe将其描述为乘坐架构师电梯与CTO和其他高管交谈,然后前往机舱与开发人员合作。
对于许多团队来说,由于流感大流行和许多公司采用长期远程工作策略,沟通方式受到严重干扰。这意味着架构师已经失去了通过耳闻目染学习的能力,因为他们可以和开发人员坐在同一个房间里并偷听对话。如果这是有帮助的,它会导致更多的书面交流,无论是在IM聊天室中,还是在架构决策记录中,并使这些记录保持最新,因为团队经常引用这些记录。领先的架构师们正在寻找各种方法来解决远程团队的限制,并因此而创建更好的软件设计。
其他主题
Dapr和开放应用模型(OAM)都是微软在2019年底推出的。OAM是定义云原生应用程序的规范,它关注于应用程序,而不是容器或编排器。类似地,Dapr是一个具有可插入组件的框架,旨在使云原生开发更容易。尽管微软参与了它们的创建,但这两个项目都是开源项目,可以在任何云提供商上工作,Dapr可能成为CNCF项目。Dapr和OAM还没有被广泛采用,因此它们显然是需要关注的创新趋势。
WebAssembly是另一种创新趋势。对于架构师来说,很有意思的一点是,它是否只是作为web框架和移动开发的补充,或者系统的设计是否考虑WebAssembly,以及如何体现。
最后一个是关于GraphQL,它跨越了去年趋势图上的鸿沟。从那时起,下一代GraphQL功能出现了创新,尤其是Netflix,尤其是GraphQL Federation和GraphQL Microservices。正如微服务产生的蔓延导致了管理这种蔓延的新模式一样,对于那些在GraphQL上投入了大量资金的公司来说,他们需要GraphQL Federation来帮助管理新的复杂性。这并不是每个公司都会遇到的问题,但了解和了解未来的发展方向仍然很有用。
Daniel Bryant:是Ambassador Labs的Dev Rel总监,InfoQ的新闻经理,QCon伦敦的主席。他目前的技术专长集中于“DevOps”工具、云/容器平台和微服务实现。Daniel是伦敦Java 区(LJC)的领导者,参与了多个开源项目,为InfoQ、O’Reilly和DZone等知名技术 站撰稿,并定期在QCon、JavaOne和Devoxx等国际会议上发表演讲。
Holly Cummins:是IBM公司战略的创新领导者,曾在IBM车库担任过几年顾问。作为车库的一部分,她为各个行业的客户提供技术创新,从银行到餐饮,从零售到非政府组织。Holly是Oracle Java冠军、IBM Q Ambassador和JavaOne摇滚明星。她与人合著了Manning的《Enterprise OSGi In Action 》。
Eran Stiller:是CodeValue的首席技术官和联合创始人。作为CodeValue的首席技术官,Eran设计、实施和审查跨多个业务领域的各种软件解决方案。凭借多年的软件开发和体系结构经验以及公开演讲和 区贡献记录,微软自2018年起将Eran评为微软区域总监(MRD),并自2016年起将其评为微软Azure上最有价值的专业人士(MVP)。
译者:
原文链接:
https://www.infoq.com/articles/architecture-trends-2021/
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!