DevOps - 應用程序的十二因子

12factor

簡介

如今,軟件通常會作爲一種服務來交付,它們被稱爲網絡應用程序,或軟件即服務(SaaS)。
12-Factor 爲構建如下的 SaaS 應用提供了方法論:

  • 使用標準化流程自動配置,從而使新的開發者花費最少的學習成本加入這個項目。
  • 和操作系統之間儘可能的劃清界限,在各個系統中提供最大的可移植性。
  • 適合部署在現代的雲計算平臺,從而在服務器和系統管理方面節省資源。
  • 將開發環境和生產環境的差異降至最低,並使用持續交付實施敏捷開發。
  • 可以在工具、架構和開發流程不發生明顯變化的前提下實現擴展。

這套理論適用於任意語言和後端服務(數據庫、消息隊列、緩存等)開發的應用程序。

速覽

I. 基準代碼: 一份基準代碼,多份部署
II. 依賴: 顯式聲明依賴關係
III. 配置: 在環境中存儲配置
IV. 後端服務: 把後端服務當作附加資源
V. 構建,發佈,運行: 嚴格分離構建和運行
VI. 進程: 以一個或多個無狀態進程運行應用
VII. 端口綁定: 通過端口綁定提供服務
VIII. 併發: 通過進程模型進行擴展
IX. 易處理: 快速啓動和優雅終止可最大化健壯性
X. 開發環境與線上環境等價: 儘可能的保持開發,預發佈,線上環境相同
XI. 日誌: 把日誌當作事件流
XII. 管理進程: 後臺管理任務當作一次性進程運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章