企业级Java现代化:写给开发者的云原生简明指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章
重新回顾企业级开发

企业级开发一直是软件工程中最令人兴奋的领域之一,而过去的十年是一个特别令人振奋的时期。在21世纪的前十年,我们看到高度分布式的微服务逐渐取代了传统的三层架构,基于云的基础设施能够提供几乎无限的资源,从而将重量级的应用服务器推到了被淘汰的边缘。当开发者试图将分布式世界的各个片段组合在一起,构成复杂的微服务世界时,质疑的声音一直层出不穷。现实情况是,大多数的应用依然是精心设计的单体应用,并遵循传统的软件开发流程。

然而,我们部署和运维软件的方式已经发生了快速的变化。我们已经看到DevOps正在发展为GitOps,它将开发人员的责任扩展到了应用程序的代码之外,延伸到了应用所需的基础设施。本书在Markus的Modern Java EE Design Patterns(O'Reilly)(网址见链接列表1.1条目)一书的基础之上,对现代化这个领域提出了更多的观点,而不仅局限于模块化。我们希望能够帮助你理解在通向现代Kubernetes原生开发平台的过程中,需要掌握哪些相关的知识,以及如何在这样的平台上构建和维护应用程序。

本书会回顾历史,以评估应用现代化和云原生架构的成功因素和驱动因素。我们会专注于基于Java企业级应用的现代化工作,包括遴选适合进行现代化的应用的过程,并且会概述能够帮助我们管理现代化应用相关工作的工具和方法。本书没有谈论模式,而是提供了一系列的样例,以帮助你使用所学到的知识。

也就是说,本书不会宽泛地讨论单体与分布式应用的问题。相反,我们的目标是帮助你理解如何将应用无缝地迁移到云中。

你可以将本书作为参考,按照任意的顺序阅读各个章节。不过,我们对材料进行了组织,会从较高层级的概念开始,然后以迭代的方式进行实现。首先,很重要的一点是了解云的不同定义以及我们该如何为云构建应用。