Factory12要素
Factory
I. 基准代码一份基准代码,多份部署
II. 依赖显式声明依赖关系
III. 配置在环境中存储配置
IV. 后端服务把后端服务当作附加资源
V. 构建,发布,运行严格分离构建和运行
VI. 进程以一个或多个无状态进程运行应用
VII. 端口绑定通过端口绑定提供服务
VIII. 并发通过进程模型进行扩展
IX. 易处理快速启动和优雅终止可最大化健壮性
X. 开发环境与线上环境等价尽可能的保持开发,预发布,线上环境相同
XI. 日志把日志当作事件流XII. 管理进程后台管理任务当作一次性进程运行
Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
使用 声明格式进行自动设置,以最大限度地减少新开发人员加入项目的时间和成本;
Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
有一个 光票合同 底层操作系统,提供 最大可移植性在执行环境之间;
Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
适合于 部署 现代的 云平台·消除对服务器和系统管理的需要;
Minimize divergence between development and production, enabling continuous deployment for maximum agility;
最大限度地减少开发和生产之间的分歧,实现持续部署以获得最大的灵活性;
And can scale up without significant changes to tooling, architecture, or development practices.
并且可以在不对工具、体系结构或开发实践进行重大更改的情况下进行扩展。
I. Codebase
一.代码库
One codebase tracked in revision control, many deploys
在修订控制中跟踪一个代码库,多次部署
II. Dependencies
二.依赖性
Explicitly declare and isolate dependencies
显式声明和隔离依赖项
III. Config
三.配置
Store config in the environment
在环境中存储配置
IV. Backing services
四.支持服务
Treat backing services as attached resources
将后备服务视为附加资源
V. Build, release, run
五.建立、发布、运行
Strictly separate build and run stages
严格分离构建和运行阶段
VI. Processes
六.过程
Execute the app as one or more stateless processes
将应用程序作为一个或多个无状态进程执行
VII. Port binding
七.端口绑定
Export services via port binding
通过端口绑定导出服务
VIII. Concurrency
八.并发性
Scale out via the process model
通过流程模型横向扩展
IX. Disposability
九.一次性使用
Maximize robustness with fast startup and graceful shutdown
通过快速启动和平稳关机最大限度地提高鲁棒性
X. Dev/prod parity
十.开发/生产平价
Keep development, staging, and production as similar as possible
尽可能保持开发、登台和生产的相似性
XI. Logs
十一.日志
Treat logs as event streams
将日志视为事件流
XII. Admin processes
十二.管理过程
Run admin/management tasks as one-off processes
将管理任务作为一次性流程运行
编程方法
自顶向下
红花绿叶
Loading...