The Twelve Factors
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
十二因素
一棋嘲、代碼庫
在修訂控制中跟蹤一個(gè)代碼庫,許多部署
二、依賴關(guān)系
顯式聲明和隔離依賴關(guān)系
三萌狂、配置
在環(huán)境中存儲(chǔ)配置
四凉倚。后援服務(wù)
將備份服務(wù)視為附加資源
五坊饶、構(gòu)建赢底、發(fā)布疼鸟、運(yùn)行
嚴(yán)格分離構(gòu)建和運(yùn)行階段
六后控、流程
將應(yīng)用程序作為一個(gè)或多個(gè)無狀態(tài)進(jìn)程執(zhí)行
七、端口綁定
通過端口綁定導(dǎo)出服務(wù)
八空镜、并發(fā)
通過流程模型橫向擴(kuò)展
九浩淘、一次性性
通過快速啟動(dòng)和平穩(wěn)關(guān)閉,最大限度地提高魯棒性
十吴攒、開發(fā)/產(chǎn)品奇偶校驗(yàn)
保持開發(fā)张抄、分期和生產(chǎn)盡可能相似
十一、日志
將日志視為事件流
十二洼怔。管理進(jìn)程
將管理/管理任務(wù)作為一次性流程運(yùn)行