心得分享:從Twelve-Factors App 角度,看如何導入 Docker 技術
RojerChen.2014.12.13
在 Container Summit 技術高峰會2014 眾多個講者裡面,除了總編輯之外我最喜歡的講者就是 William ,參加技術論壇有時候很吃力的地方是在於技術名詞不熟悉,往往會覺得其他人講的是火星畫,而 William 用很快速以及簡單的方式告訴大家 Docker 是如何從這12個不同的角度來設計系統。
最後這場研討會擺在會議最後面還真是別有用心,如果你不懂 Docker,這一整天聽下來應該也略知一二,而這場跟技術比較無關,比較偏向武功的內功心法。
Twelve-Factors:
- CodeBase
- Docker Hub
- Dependencies
- Depend on 元件
- Config
- 設定不應該寫在程式裡面,應該要抽離開來寫在設定檔
- Backing Services
- 應該要把一些軟體會用到的套件/工具當作後勤工具,減少彼此間的耦合,這樣當有心套件使用時也可以比較容易銜接上去,如果耦合性太強也就無法做有效的測試。
- Build Release Run
- 將 Build、Release、Run 環境切割
- Processes
- Port Binding
- 盡量使用 REST 方式
- Concurrency
- Disposability
- 程式有容錯的機制,程式自己掛掉後會重啟,不需要有個監控程式在監控其他程式(需要自己的努力)
- Dev/prod Parity
- 開發環境和測試環境要盡量相同
- Los
- log 的管理不應該是 developer 要關心的,應該是 operator要關心的,developer只要把log單純的stand output就好,
- Admin Processes
- 應該留一個後門讓管理者可以登入進行後相關事情的處理 (Docker 1.3 inception)
※延伸閱讀
0 意見:
張貼留言