「打破此螺旋的最有效方法就是面對恐懼。」——《基礎架構即程式碼:管理雲端伺服器》
金句提到的『螺旋』指的是自動化恐懼螺旋。這是眾人在剛開始實踐自動化或 IaC 時,一定會碰到的狀況。
因為伺服器的組態不一致,所以對執行自動化沒有信心。
因為對自動化沒有信心,所以不敢放著讓自動化工具全面、頻繁且自動的執行。
因為欠缺全面、頻繁且自動的執行自動化(意味著總是有手動介入導致雪花伺服器),因此做不到讓伺服器的組態一致。
這真的很苦惱,但你也只有好好的『面對它、接受它、處理它』,最後你才能『放下它』。
先找一個伺服器,作為起點,讓它成為你第一個全面自動化的目標,盤點並釐清它的組態配置,然後再也不要用人工方式去異動它,讓它成為第一個完全依靠排程或自動化流程維運的伺服器。然後逐漸的擴大範圍至其他的伺服器。
還記得 CI/CD 嗎?其實 CI/CD Pipeline 也是一種自動化,你不也是這樣從第一個 CI Job、第一條 Pipeline 逐步開始的嗎?
另外你是否發現了,CI/CD 其實也是用同樣的招式讓我們面對『恐懼』,你越是擔心程式碼合併會出錯?那你就越需要面對它,要『經常/天天』合併;你越是擔心程式碼品質?那你就越需要面對它,讓你每一次 Commit 都會跑自動化測試⋯⋯
越是恐懼、越是不擅長,那你就越是要面對它!