12因子应用是由PaaS提供商Heroku的Adam Wiggins提出的。Heroku已经被SaaS行业领军厂商Salesforce收购,根据维基百科的记载,同年2011年松本行弘也加盟了该公司担任Ruby首席架构师。
作为云平台厂商,该公司创始人根据经验总结出来的SaaS软件开发的方法论(12因子)无疑值得同行学习。引用原文的描述:
本文综合了我们关于 SaaS 应用几乎所有的经验和智慧,是开发此类应用的理想实践标准,并特别关注于应用程序如何保持良性成长,开发者之间如何进行有效的代码协作,以及如何 避免软件污染 。
12因子的大纲已经有中文翻译,可以直接参考
https://12factor.net/zh_cn/
每个因子的解释,可以在该网站下载epub英文电子版了解。其基本准则跟我一直在考虑的如何构建健壮和运维友好的系统有一定重合,内容覆盖了应用开发的整个生命周期:编码/配置/CI/CD/发布/运维。虽然提出时间比较久了,明细条目的解释还是有翻译的意义,我会在后面翻一下。
12-factors
I. 基准代码
一份基准代码,多份部署
II. 依赖
显式声明依赖关系
III. 配置
在环境中存储配置
IV. 后端服务
把后端服务当作附加资源
V. 构建,发布,运行
严格分离构建和运行
VI. 进程
以一个或多个无状态进程运行应用
VII. 端口绑定
通过端口绑定提供服务
VIII. 并发
通过进程模型进行扩展
IX. 易处理
快速启动和优雅终止可最大化健壮性
X. 开发环境与线上环境等价
尽可能的保持开发,预发布,线上环境相同
XI. 日志
把日志当作事件流
XII. 管理进程
后台管理任务当作一次性进程运行
本文来自微信公众号「麦芽面包,id「darkjune_think」
转载请注明。微信扫一扫关注公众号。
交流Email: zhukunrong@yeah.net
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。