心得分享:從Twelve-Factors App 角度,看如何導入 Docker 技術

RojerChen.2014.12.13

Container Summit 技術高峰會2014 眾多個講者裡面,除了總編輯之外我最喜歡的講者就是 William ,參加技術論壇有時候很吃力的地方是在於技術名詞不熟悉,往往會覺得其他人講的是火星畫,而 William 用很快速以及簡單的方式告訴大家 Docker 是如何從這12個不同的角度來設計系統。

最後這場研討會擺在會議最後面還真是別有用心,如果你不懂 Docker,這一整天聽下來應該也略知一二,而這場跟技術比較無關,比較偏向武功的內功心法。




Twelve-Factors:
  1. CodeBase
    • Docker Hub
  2. Dependencies
    • Depend on 元件
  3. Config
    • 設定不應該寫在程式裡面,應該要抽離開來寫在設定檔
  4. Backing Services
    • 應該要把一些軟體會用到的套件/工具當作後勤工具,減少彼此間的耦合,這樣當有心套件使用時也可以比較容易銜接上去,如果耦合性太強也就無法做有效的測試。
  5. Build Release Run
    • 將 Build、Release、Run 環境切割
  6. Processes
  7. Port Binding
    • 盡量使用 REST 方式
  8. Concurrency
  9. Disposability
    • 程式有容錯的機制,程式自己掛掉後會重啟,不需要有個監控程式在監控其他程式(需要自己的努力)
  10. Dev/prod Parity
    • 開發環境和測試環境要盡量相同
  11. Los
    • log 的管理不應該是 developer 要關心的,應該是 operator要關心的,developer只要把log單純的stand output就好,
  12. Admin Processes
    • 應該留一個後門讓管理者可以登入進行後相關事情的處理 (Docker 1.3 inception)

    Blogger Comment

0 意見: