本章内容包括:
我们在设计云原生应用时与传统方法不同。《12-Factor》方法论包含了最佳实践和开发模式,是构建被视为云原生的应用的良好起点。我将在本章的第一部分解释这个方法论,并在本书的其余部分进行扩展。
在本章的后面部分,我们将构建一个简单的Spring Boot应用,并使用Java,Docker和Kubernetes运行它,如图2.1所示。在本书的其余部分,我将深入研究每个主题,所以如果有什么不太清楚的地方,不要担心。本章旨在为您提供一个从代码到生产的云环境之旅的思维导图,同时让您熟悉我们在本书中使用的模式和技术。
最后,我将向您介绍我们将在本书中使用Spring和Kubernetes构建的云原生项目。我们将应用本书第一部分介绍的所有云原生应用的特性和模式。
云原生开发原则:12因素及其他因素
Heroku云平台的工程师提出了“12-Factor方法论”,作为设计和构建云原生应用的开发原则的集合。他们从他们的经验中总结出了一些构建Web应用程序的最佳实践,具有以下特点:
- 适合在云平台上部署
- 具备可扩展性
- 可在不同系统之间移植
- 支持持续部署和敏捷性
其目标是帮助开发者构建适用于云端的应用程序,突出了在实现最佳结果时应考虑的重要因素。
后来,该方法论被Kevin Hoffman在他的书《Beyond the Twelve-Factor App》中进行了修订和扩展,刷新了原始因素的内容,并增加了三个额外因素。从现在开始,我将称这个扩展的原则集合为“15-Factor方法论”。
这15个因素将在本书中指导您,因为它们是开发云原生应用的良好起点。如果您正在从零开始构建一个新的应用程序或将传统系统迁移到云端,这些原则可以帮助您在这一过程中。在相关章节,我将更详细地阐述它们,并说明如何将它们应用于Spring应用程序。熟悉这些原则是非常重要的。
让我们深入了解这些因素。