云原生Spring实战
上QQ阅读APP看书,第一时间看更新

2.1 云原生开发原则:12-Factor及其扩展

Heroku云平台的工程师提出了12-Factor方法论,作为设计和构建云原生应用的开发原则集[1]。他们将自己的经验提炼成最佳实践,以构建具有如下特征的Web应用。


[1] A. Wiggins, “The Twelve-Factor App”, https://12factor.net。

适合在云平台部署。

按照设计,应用是可扩展的。

可跨平台移植。

持续部署和敏捷的推动者。

该方法论的目的是帮助开发人员构建适合云的应用,强调达成最佳效果所要考虑的重要因素。

随后,Kevin Hoffman在他的Beyond the Twelve-Factor App一书中,对该方法论进行了修订和扩展,更新了原有要素的内容并增加了三个额外的要素[2]。从现在开始,我会将这个扩展的原则集称为15-Factor方法论。


[2] K. Hoffman, Beyond the Twelve-Factor App, O’Reilly, 2016年。

这15个要素会指导我们阅读本书,因为它们是开发云原生应用的一个良好起点。如果你正在从头开始构建一个新的应用或者将一个传统的系统迁移至云中,那么这些原则可以一直帮助到你。我将会在相关的地方对它们进行详细的阐述,并介绍如何将它们用到Spring应用中,但是对它们有一个大致的了解也是很重要的。

下面我们对这些要素逐一进行讨论。