Deployment
在節點上部署分佈式應用程序的最佳策略
這是關於部署和維護節點的一般問題。我不是系統管理員。
我正在考慮以下“幼稚”策略:
- 選擇一種 linux 風格並堅持下去。
- 用我的 linux 風格創建一個圖像。
- 在映像上安裝我的應用程序、腳本和所有包。
- 剝離所有不必要的包和應用程序。
- 配置安全性(阻止埠、監控工具)。
- 備份我的圖像。
- 必要時在每個新節點上複製我的圖像。
- 安裝安全更新(最終創建我的圖像的更新版本)。
- 執行設置腳本 + 配置。
這是常見的做法嗎?有更好的策略嗎?我應該考慮任何其他角度嗎?
聽起來您是基於雲的計算解決方案的主要候選人。我會使用亞馬遜的 EC2 之類的東西進行調查,它可以自動執行您列出的所有步驟,只需點擊一個按鈕。並且不要將自己限制在 EC2 上,那裡有很多競爭對手。
但是,是的,簡而言之,這是一種相當普遍的做法。
您可能會修改第 1 步。您正在限制您的客戶群。您可以限制支持的發行版集,但我不會只選擇一個。
對於應用程序分發,我會以節點作業系統原生的格式提供包。應用程序更新將是一個簡單的包更新,這在系統管理員上是盡可能容易的。
如果您想準備一個完整的環境,從作業系統級別開始,您有 2 個選項。您可以準備一個選定格式(或多種格式)的 VM 文件。然後你必須準備整個環境,從作業系統開始。
或者您可以準備一個自動安裝系統/映像(使用發行版本機非互動式安裝系統,或將其與例如 xCat 結合使用),它將部署一個完整的作業系統,對其進行配置,然後在頂部載入您的應用程序。