分拆:技术栈的自然演进

开发 项目管理
作者应该是去年 7 月离开红帽加入了基于 Dapr 的创业公司 Diagrid,曾写过 Multi-Runtime Microservices Architecture[2] 介绍多运行时,多运行时实际上也是分拆的体现。

本文翻译自 Bilgin Lbryam 的 Unbundling: The Natural Evolution of Tech Stacks[1],翻译难免有所疏漏,有建议请反馈。

“unbundling” 如何翻译,有点纠结,我一度将其翻译成“解耦”,但解耦是 “decoupling” 的翻译。这里我将其翻译成分拆,如果你有更好的翻译请告知。

译者注

作者应该是去年 7 月离开红帽加入了基于 Dapr 的创业公司 Diagrid,曾写过 Multi-Runtime Microservices Architecture[2] 介绍多运行时,多运行时实际上也是分拆的体现。

作者从多种技术和团队触发,介绍在演进中分拆的体现。除了文中提到,我认为可以分拆的是计算资源。将计算资源拆分:虚拟机、多租户、多集群、多云、混合云,以降低成本、避免供应商绑定、提升性能和可靠性。在计算资源拆分过程中,也衍生出了与之配套的技术来解决拆分后带来的不便。

随着 IT 领域的不断发展,新的软件架构、开发技术和工具层出不穷。包括微服务、微前端、零信任、服务网格和数据网格,并将其网格化。尽管这些技术和方法间存在着明显的不同,但它们都被一个共同趋势联系在一起:技术栈和团队的分拆。这种趋势包括将系统分解成更小的、独立的组件,并将工作组织成更小、更专注的团队,以实现更高的灵活性和模块化。

图片

他们都是如何体现分拆的?

  • 微服务 的出现是为了应对单体架构的局限性,随着应用程序的增长单体架构灵活性不足,并且扩展和维护困难。通过将单体应用程序分解为更小的、独立服务,就可以独立开发、部署和扩展应用程序的每一部分,从而缩短开发周期并提高灵活性。
  • 六边形架构 的出现是为了通过将组件解耦并提供与它们交互的标准接口来提高 3 层应用程序的灵活性和可维护性。
  • 领域驱动设计 (DDD) 是一种软件开发方法,可以帮助将整体应用程序分解成更小的、松耦合的、代表不同的业务领域或上下文的模块。
  • 微前端 架构是一种设计方法,是将大型单体前端应用程序分解为较小的、独立的、可以单独开发和部署的模块。
  • JAMstack 通过将构成用户界面的 HTML、CSS 和 JavaScript 与为应用程序提供支持的服务器端代码和数据库分离,实现应用程序的前端和后端分离。由于系统的一部分的变更无需变更其他部分,从而可以更轻松地维护应用。
  • 服务网格 将分布式应用程序的网络职责(例如路由、负载平衡和服务发现)与应用程序本身分离,使开发人员可以专注于构建业务逻辑和功能,而无需担心底层网络基础设施。
  • 与微服务类似,数据网格 将大型复杂系统分解为更小的独立组件。它将数据治理和管理实践分解为更小的、独立组件,这些组件可以跨不同的数据源和系统一致地实现和执行。
  • 2 个比萨团队 模型是一种在组织中组织团队和工作的策略,它提倡更小的团队能够更快地响应变化、沟通和协作,并可以更快地做出决策并更有效地解决问题。

每种技术趋势的最终结果都是分拆。将技术栈分解为独立的组件,将团队分解为更小、更专注的团队,这些团队可能会扩展到所有其他领域。在前端、数据、网络、安全之后,下一个拆分领域你认为会是什么? 和我一起[3] 致力于 Dapr[4] 和分拆集成。 也可以在 @bibryam[5] 上关注我,并大声说出关于 分拆[6] 主题的任何想法和评论。

参考资料

[1] Unbundling: The Natural Evolution of Tech Stacks: https://www.ofbizian.com/2023/01/the-unbundling-of-tech-stack.html

[2] Multi-Runtime Microservices Architecture: https://www.infoq.com/articles/multi-runtime-microservice-architecture/

[3] 和我一起: https://www.diagrid.io/

[4] Dapr: http://dapr.io/

[5] @bibryam: https://twitter.com/bibryam

[6] 分拆: https://twitter.com/bibryam/status/1610237692087779329

责任编辑:武晓燕 来源: 云原生指北
相关推荐

2022-09-30 15:28:05

BERT语言模型自然语言

2023-07-16 18:49:42

HTTP网络

2010-11-11 11:19:19

腾讯

2023-09-28 21:46:10

2013-05-06 14:04:29

PON通信技术无源光网络

2009-03-03 08:45:41

AMD分拆制造工厂

2015-04-15 09:29:18

UltimateAndroied

2017-09-22 16:08:16

Python协程编程

2011-04-12 10:12:36

光缆光纤

2009-11-26 17:21:38

智能弹性架构技术

2011-04-12 10:13:33

光缆光纤OPGW

2022-11-03 12:06:41

2022-12-27 09:10:38

ChatGPT技术逻辑

2010-06-18 10:56:40

SQL server合

2023-03-27 21:04:02

ByteHouse云原生数据仓库

2018-11-21 10:04:32

2010-06-01 15:36:35

IPv6协议技术

2023-07-07 19:26:50

自建DTS平台

2018-10-12 15:15:45

电商搜索算法

2018-04-13 08:44:40

存储大型网站
点赞
收藏

51CTO技术栈公众号