I. Codebase
從一個代碼庫部署到多個環境。web
II. Dependencies
使用顯式的聲明隔離依賴,即模塊單獨運行,並能夠顯式管理依賴。數據庫
III. Config
在系統外部存儲配置信息。服務器
IV. Backing Services
把支持性服務看作是資源,支持性服務包括數據庫、消息隊列、緩衝服務器等。併發
V. Build, release, run
嚴格的劃分編譯、構建、運行階段,每一個階段由工具進行管理。框架
VI. Processes
應用做爲無狀態執行。工具
VII. Port binding
經由端口綁定導出服務,優先選擇 HTTP API 做爲通用的集成框架。ui
VIII. Concurrency
併發性使用水平擴展實現,對於web就是水平擴展web應用實現。日誌
IX. Disposability
服務可處置性,任何服務能夠隨意終止或啓動。隊列
X. Dev/prod parity
開發和生產環境保持高度一致,一鍵式部署。事件
XI. Logs
將日誌看作是事件流來管理,全部參與的服務均使用該方式處理日誌。
XII. Admin processes 管理任務做爲一次性的過程運行(使用腳本管理服務啓動和中止)。