0

分拆:技术栈的自然演进

 1 year ago
source link: https://www.51cto.com/article/746290.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

分拆:技术栈的自然演进

作者:张晓辉 2023-02-13 08:21:25
作者应该是去年 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

责任编辑:武晓燕 来源: 云原生指北

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK