当前位置: 首页 > 科技观察

Unbundling-TheNaturalEvolutionofTechStacks

时间:2023-03-13 18:57:47 科技观察

本文翻译自BilginLbryam的Unbundling:TheNaturalEvolutionofTechStacks[1]。翻译难免有些疏漏。如果您有任何建议,请反馈。“unbundling”怎么翻译有点纠结。我曾经把它翻译成“去耦”,但decoupling是“解耦”的翻译。这里我翻译成splits,如果你有更好的翻译,请告诉我。译者注笔者应该是在去年7月份离开RedHat加入了基于Dapr的初创公司Diagrid。他写了Multi-RuntimeMicroservicesArchitecture[2]来引入多运行时,其实是一种衍生出来的表现形式。在多种技术和团队的推动下,作者展示了进化过程中分拆的表现形式。除了文中提到的,我觉得可以拆分的就是计算资源。拆分计算资源:虚拟机、多租户、多集群、多云、混合云,以降低成本,避免供应商绑定,提高性能和可靠性。在拆分计算资源的过程中,也衍生出配套的技术来解决拆分带来的不便。随着IT世界的不断发展,新的软件架构、开发技术和工具层出不穷。包括微服??务、微前端、零信任、服务网格和数据网格,并将它们网格化。尽管这些技术和方法之间存在明显差异,但它们都通过一个共同趋势联系在一起:技术栈和团队的分拆。这种趋势包括将系统分解成更小的、独立的组件,并将工作组织到更小、更专注的团队中,以实现更大的灵活性和模块化。他们如何反映分拆?微服务的出现就是为了应对单体架构的局限性。随着应用的增长,单体架构不够灵活,难以扩展和维护。通过将单体应用程序分解为更小的独立服务,应用程序的每个部分都可以独立开发、部署和扩展,从而缩短开发周期并提高敏捷性。六边形架构的出现是为了通过解耦组件并提供与它们交互的标准接口来提高3层应用程序的灵活性和可维护性。领域驱动设计(DDD)是一种软件开发方法,可帮助将单体应用程序分解为更小、松散耦合的模块,这些模块代表不同的业务领域或上下文。微前端架构是一种设计方法,可将大型单片前端应用程序分解为更小的、独立的模块,这些模块可以独立开发和部署。JAMstack通过将构成用户界面的HTML、CSS和JavaScript与为应用程序提供支持的服务器端代码和数据库分离,将应用程序的前端和后端分离。应用程序更易于维护,因为更改系统的一部分不需要更改其他部分。服务网格将分布式应用程序的网络责任(例如路由、负载平衡和服务发现)与应用程序本身分开,使开发人员可以专注于构建业务逻辑和功能,而无需担心底层网络基础设施。与微服务类似,数据网格将大型复杂系统分解为更小的独立组件。它将数据治理和管理实践分解为更小的独立组件,这些组件可以跨不同的数据源和系统一致地实施和执行。2PizzaTeamModel是一种组织团队和在组织中工作的策略,它促进更小的团队能够更快地响应变化、沟通和协作,并且可以更快地做出决策并更有效地解决问题。每一种技术趋势的最终结果都是分拆。将技术堆栈分解为独立的组件,并将团队分解为更小、更专注的团队,这些团队有可能扩展到所有其他领域。在前端、数据、网络和安全之后,您认为下一个部门会是什么?加入我[3]致力于Dapr[4]和拆分集成。也可以随时在@bibryam[5]上关注我,并就衍生产品[6]主题发表任何想法和评论。参考文献[1]Unbundling:TheNaturalEvolutionofTechStacks:https://www.ofbizian.com/2023/01/the-unbundling-of-tech-stack.html[2]Multi-RuntimeMicroservicesArchitecture: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