當我無法完全控制伺服器時,我還能從使用 Chef (et al) 中受益嗎?
我希望更好地控制我的部署環境,但我與一個 IT 部門分擔系統管理責任,該部門擁有自己的(非完全自動化的)流程,用於引導 VM 實例、管理組織使用者和執行安全更新。
即使系統將具有超出我控制範圍的初始狀態,並且由於 Chef 之外的安全更新(以及可能還有其他手動干預)而會定期更改,我仍然可以從使用 Chef(可能是 Chef-Solo)中受益嗎?我無法在 IT 部門介紹不同的工作流程。
他們的職責:
- 提供硬體和虛擬機
- 安裝具有“基本功能集”的作業系統(目前為 SLES 11)
- 應用來自同一 SLES 版本的安全更新
- 管理任何組織使用者的訪問權限
- 備份
我的職責:
- 安裝和管理應用程序依賴項(使用首選 SLES 分發包的策略)
- 將安全更新應用於不屬於 SLES 分發的任何已安裝內容
- 配置所需服務
- 部署應用程序
據我所知,這與 Chef 等工具背後的完全受控環境的想法背道而馳,這將為生產環境之間以及它們與我的暫存環境(IT 從未接觸過的本地 VM)之間的差異留出空間。
使用像 Chef 這樣的工具還值得“費心”嗎?我的工作流程需要與完全受控環境的工作流程有何不同?
我會說你對 Chef 的使用比在你控制一切的情況下更多。我認為您對廚師為您做的事情有錯誤的想法。
Chef 並不是要控制整個環境。事實上,有些東西您可能不應該嘗試向 Chef 提供。供應(這主要是您的 IT 部門提供的)是 Chef 和其他 CM 系統並沒有真正解決的問題。在安裝作業系統並設置基本網路連接後,Chef 接管。實際上,您的 IT 部門提供的內容與您從 AWS 獲得的內容之間並沒有太大的區別。
廚師(和其他優秀的厘米)是關於確保配置既穩定又可重複。在您的情況下,您的配置似乎很理想,您希望它盡快恢復。您可以根據需要使用 Chef 來控制盡可能多或盡可能少的配置。
如果您有一個需要配置的生產應用程序,那麼您需要一個用於該應用程序的配置管理系統。Chef 可能是也可能不是適合您的工具,但您需要一些東西。您的 CM 可以像將配置文件保存在版本控制中並使用 makefile 安裝它們一樣簡單。(適用於單台機器上的單一服務,但僅此而已。)
您需要問的問題是您的工作規模以及您需要管理多少服務?廚師是一個力量倍增器,但它放大了好的和壞的。如果你犯了錯誤,你會在任何地方犯錯。所以這需要一些測試手段和大量的初始工作。但這種能力使您能夠在更大的範圍內工作。
如果您要管理的機器或服務多於一隻手的手指,那麼我至少會嘗試使用 Chef,看看它是否適合您。