一、定义
12因素应用为构建 SaaS应用(网络应用服务程序)提供了方法论:
- 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。
- 和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。
- 适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。
- 将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。
- 可以在工具、架构和开发流程不发生明显变化的前提下实现扩展。
- 这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。
二、12因素
- 基准代码
一份基准代码,多份部署。(用一个代码库进行版本控制,然后进行多次部署) - 依赖
显式地声明和隔离相互之间的依赖 - 配置
在环境中存储配置 - 后端服务
把后端服务当作一种附加资源 - 构建,发布,运行
严格分离构建和运行 - 进程
以一个或多个无状态进程运行应用 - 端口绑定
通过端口绑定提供服务 - 并发
通过进程模型进行扩展 - 易处理
快速地启动,优雅地终止,最大程度上保持健壮性 - 开发环境与线上环境等价
尽可能的保持开发,预发布,线上环境相同 - 日志
把日志当作事件流 - 管理进程
后台管理任务当作一次性进程运行
http://xzh.i3geek.com
0 条评论