over 3 years ago

文章出處: The Twelve-Factor App

前一陣子就有閱讀並做了一些筆記。今天在 Container Summit 聽了葉秉成老師介紹 (從Twelve-Factors App角度,看如何導入Docker技術) 之後,更有一種豁然開朗的感覺。說真的,要完全做到,是要下許多功夫的。

  1. Codebase: 版本控制
  2. Dependency: 要明確定義出 Dependency 並將之隔離
  3. Config: 設定檔必須從程式碼抽離
  4. Backing services: 外在服務必須隔離。如:資料庫,也就是要做到,即使更換資料庫,程式碼也不受影響
  5. Build, release, run: 要明確區分每個階段,不互相干擾
  6. Processes: 打造無狀態、無共用的程式
  7. Port binding: 服務僅透過 Web Service (HTTP/HTTPS) 來對外
  8. Concurrency: 無狀態、無共用的程式設計,自然而然的就容易擴張
  9. Disposability: 可輕易拋棄,提高錯誤容忍度 (類似 Reactive System 的 Resilient 概念?)
  10. Dev/Prod parity: 維持一致的環境
  11. Logs: 將 Event 視為 Stream 輸出,不要試圖自己處理,讓 OP 決定如何維護、分類
  12. Admin processes: 提供 Admin 一次性維護的窗口,一般來說是 SSH
← Raspberry Pi 網路設定小撇步 如何重新打包 initrd.img (ram disk) →
 
comments powered by Disqus