因為環境會變亂,尤其是當因應應用頻繁發佈而頻繁調整時。而頻繁建立/複製環境,是提昇應用執行結果可預測性的最好方法。
過去,我們是把環境建置當做是一個一次性的初始動作,當環境建立好之後,再不斷的根據應用需求調整環境。為了要跟上應用交付的腳步,環境調整的頻率越趨頻繁,環境變亂的可能性就越來越高。
尤其是當有好幾個環境要同時調整 (如:DEV/TEST/Staging/PROD),或者是調整過程是由手動操作時,更提昇環境變亂的風險。
"It worked on my machine",就是環境變亂的經典名句,表示應用的執行結果會越來越難預測。
有了容器之後,環境建立並非是一個一次性的初始動作,而是融入每次應用建置與佈建的流程中。每一次的建置與佈建都使用乾淨且一致的環境,增加了應用執行結果的可預測性。且容器能快速複製,就算每次應用建置與佈建都要重建環境,也不會大幅提昇建置與佈建時間。