Puppet

在決定使用 Chef 還是 Puppet 時要問的正確問題是什麼?

  • January 4, 2013

我即將開始一個新項目,該項目在一定程度上需要部署許多相同的節點,大約三個不同的類:

  • 數據節點,它將執行 MongoDB 的分片實例。
  • 應用程序節點,它將執行 Ruby on Rails 應用程序和舊 ASP.NET MVC 應用程序的實例。
  • 處理節點,它將執行應用程序節點請求的作業。

所有節點都將在 Ubuntu 10.04 實例上執行,儘管它們將安裝不同的軟體包。

我對以前的項目中的 Chef 有一定的了解,儘管我不認為自己是專家。為了進行盡職調查,我一直在研究其他可能性。我們內部有很多人是 Puppet 的長期使用者,他們鼓勵我去看看。

不過,我無法評估這兩種選擇。Chef 和 Puppet 共享許多相同的領域術語——資源屬性等,它們有共同的歷史,源於對同一問題採取不同的方法。所以從某種意義上說,它們非常相似。但是我發現的很多比較資訊,比如這篇文章,都有些過時了。

如果您今天開始這個項目,您會問自己哪些問題來決定是否應該使用 Chef 或 Puppet 進行配置管理?(注意:我不想回答“我應該使用 Chef 還是 Puppet?”這個問題)

Puppet 和 Chef 都可以隨心所欲。你最好的辦法就是開始做你想做的事情,並決定你最喜歡哪種工具。我認為你必須要問的大問題是:

你想要DSL嗎?- 廚師食譜是用 ruby​​ 編寫的,puppet 有一個 DSL。DSL 是好還是壞選擇是廚師和木偶之間最大的區別之一。您發佈到位域諮詢比較的連結對此有一些很好的評論,如果您還沒有閱讀,您應該閱讀。我還發現這篇博文很有用,請確保您也閱讀了評論。

你知道紅寶石嗎?- 如果您不懂 ruby​​,那麼開始使用 chef 可能會更難或需要更多的時間投入,因為您需要學習一門新語言。Puppet 有自己的語言,很容易上手。從 puppet 2.6 開始,清單也可以用 ruby​​ 編寫

在 2009 年的 Open Source Bridge 上,他們有一個由 Chef、puppet、bcfg2、cfengine 和 automaticit 的作者和代表組成的小組,您可以在 bliptv 上觀看,其中有 1.75 小時關於配置管理實用程序的討論。

Opscode/Chef在他們的 FAQ中也談到了它和 puppet 之間的區別。

我認為您不知道要問的正確問題可能源於您沒有太多使用它們的經驗,一旦您開始使用它們,您就會開始看到它們之間的差異。我建議你提出一些現實生活中的問題,你將與廚師或木偶一起解決,然後開始嘗試解決它們,看看你喜歡/不喜歡它們什麼。使用 Opscode/Chef,他們提供了一個託管解決方案,您可以免費設置 5 個節點以開始使用。

引用自:https://serverfault.com/questions/231842