今天來討論一個比較輕鬆的題目:如何讓不懂技術的人理解容器。
如同上面 Docker 的 Logo,把容器當做是貨櫃來理解,這是很常見的比喻方式,可以帶出標準化、易自動化、易搬遷的優點。
但我總覺得好像還少了什麼,所以我想嘗試用另一個比喻來理解:簽核流程。
跑流程最怕的一件事是:費盡千辛萬苦跑到最後一關的時候被退件,要再重跑一次。
這時候就會想:前面簽核的那幾關怎麼都沒提醒我?要是前面能先退件的話多省事啊。
或者是想辦法凹最後一關的承辦人員,希望他能通融一下補件過關。
以上的情境你有同感嗎?
任何流程都是一樣,越晚發現問題成本就越高。這也是 DevOps CALMS 五個原則中 Lean 的主要精神之一,問題要及早發現及早解決以消除浪費。
把這樣的情境類比到軟體開發上,我們也不希望程式碼一路送到生產環境中才被退件,然後要再頻繁的打patch上去吧。
解決這個問題需要能及早用一致的的環境來做驗證,這也是容器能幫忙的地方。
容器還有一個可以用簽核流程來解釋的地方,明天再來講。