Chef進行自動化和編排的優缺點分析

Chef進行自動化和編排的優缺點分析

Chef Automate提供全套企業功能,可實現混合基礎架構的自動化,從交付到合規。

Chef已經成為一個領先的開源工具,在過去十多年中一直用於自動化服務器的供應和配置。近年來,該公司將InSpec和Habitat添加到產品組合中,這些開源項目分別自動執行策略合規性測試以及應用程序的部署和配置。該公司的旗艦商業產品Chef Automate將所有這些產品整合在一起。

Chef Automate為工作流,節點可見性和合規性提供了一套企業功能,並與開源產品Chef,InSpec和Habitat集成。Chef Automate為整個平臺提供支持服務,包括開源組件。除了提供運營,合規性和工作流事件的視圖外,它還包括用於持續交付基礎架構和應用程序的流水線。

Chef組件和工作流程

Chef DK(開發套件)工作站是用戶與Chef互動的地方。在工作站上,用戶使用Test Kitchen(生成測試VM)等工具創作和測試cookbook,並使用命令行工具與Chef服務器進行交互。 例如,Knife是一個命令行工具,它提供本地Chef repo和Chef服務器之間的接口。 Knife可幫助用戶管理節點,cookbook,數據包以及Chef客戶端在節點上的安裝(引導程序)以及其他任務。Chef cookbook中的大多數文件都是用Ruby編寫的,儘管有些配置是用YAML編寫的。

Chef進行自動化和編排的優缺點分析

Chef 架構

開源Chef服務器充當配置數據的中心。Chef服務器存儲cookbook,應用於節點的策略以及描述Chef正在管理的每個已註冊節點的元數據。節點使用Chef客戶端向Chef服務器詢問配置詳細信息,例如配方,模板和文件分發。換句話說,Chef默認是基於拉的系統;它還具有推送功能。

Chef Supermarket是共享和管理社區cookbook的地方。Chef自動化中提供Chef管理控制檯,chef-client(代理)運行報告,高可用性配置和Chef服務器複製。

InSpec是一個免費的開源框架,用於測試和審核您的應用程序和基礎架構。它是Chef Automate合規部分的基礎。它與Puppet和Ansible以及Chef集成。

Habitat是一個開源的雲原生應用程序自動化和應用程序生命週期管理平臺,從應用程序的角度而不是企業或平臺的角度設計。

Chef進行自動化和編排的優缺點分析

Chef Automate為工作流,節點可見性和合規性提供了一套企業功能,並與開源產品Chef,InSpec和Habitat集成。

Chef在DevOps,合規性和雲計算方面的應用

Chef Automate可幫助你更快,更頻繁,更可靠地配置和部署應用程序,換句話說,它支持DevOps。它還通過減少服務器drift,識別合規性違規以及自動修復任何問題來自動執行合規性。Chef Compliance基於開源InSpec,曾經是一個單獨的產品,但現在是Chef Automate的一部分。

雲遷移是Chef的一個有趣的用例。這包括AWS,Microsoft Azure,Google雲平臺,混合部署和混合雲。另一個主要用例是確保符合PCI,HIPAA以及其他安全和隱私法規。

如下圖所示,Chef的賣點之一是它可以與你擁有的產品配合使用。其中包括主要的基於Git的存儲庫,CI/CD系統,操作系統,雲和容器編排系統。

Chef進行自動化和編排的優缺點分析

Chef生態系統圖顯示了其工作流程,運行時,環境和規格集成,以及Chef Automate的主要功能。

Chef安裝和設置

通常,Chef Automate安裝至少包含兩個服務器:Chef服務器(至少四個vCPU和8 GB RAM),其中包含用於在Chef Automate和你的Chef Automate中構建,測試和部署組件的cookbook和數據,基礎架構和Chef Automate服務器(至少四個vCPU和16 GB RAM),用於協調通過工作流管道移動更改的過程,以及提供有關Chef Automate集群的見解和可視化。

有兩個可選服務器,一個推送作業服務器,用於創建用於部署測試的基礎結構節點,如果你將基於推送作業的構建節點用作測試和部署過程的一部分,以及運行程序或構建節點,則還需要這些服務器(至少兩個vCPU和4 GB RAM),它們執行從Chef Automate運行構建,測試和部署的工作,並且僅在使用Chef Automate的工作流功能時才需要。

首先安裝Chef服務器,可以是獨立服務器,也可以是高可用性配置。然後使用chef-server-ctl命令創建一個用於Chef Automate的用戶和組織。(可選)下載代碼並創建推送作業服務器,然後再次使用chef-server-ctl命令重新配置Chef服務器。

此時,你可以使用rpm或dpkg安裝和配置Chef Automate。安裝許可證,並使用automate-ctl命令運行飛行前檢查和設置過程。設置將提示你為工作流創建運行器。最後,你可以配置節點以進行數據收集。

Chef Automate得AWS OpsWorks工具大大簡化了安裝過程,假設你希望在AWS上安裝Automate和Chef服務器,你可以在10分鐘或更短時間內部署。你仍然可以從OpsWorks管理本地節點,儘管OpsWorks在大多數節點都在AWS上時會發光,因為它可以自動將節點註冊到自動縮放組中。

AWS上有一個很好的教程可以教你Chef ,Chef Automate和OpsWorks,你可以在其中設置所有內容並逐步執行自動化任務。該教程比基本部署需要更長的時間,但如果你是Chef的新手,則值得一試。

你還可以從AWS Marketplace將Chef Automate安裝到VM中。此外,Chef還與Google Cloud Platform,Microsoft Azure Marketplace和VMware集成。

Chef Automate擁有強大的開發和合規性,廣泛的平臺支持和大量模塊,提供全套企業功能,可自動化混合基礎架構的交付和持續運營。它可能滿足你對IT自動化的大部分或全部需求。

成本:

免費開源項目(Chef,InSpec,Habitat等)。

Chef Automate,137美元/節點/年,支持標準(12x5)。

AWS OpsWorks與Chef Automate,$ 0.0155 /節點/小時。

Chef託管,72美元/節點/年。

平臺:

Chef Automate Server需要RHEL,SUSE或Ubuntu OS。除此之外,MacOS還支持Chef Automate Job Runner。

Chef Automate與VMware,CoreOS,Docker,Windows和Linux操作系統兼容;Google,AWS,Azure,OpenStack和VMware雲; Kubernetes,Docker Swarm和Mesosphere容器編排系統。基於雲的Chef Automate服務可作為AWS OpsWorks for Chef Automate使用。應該瀏覽使用Google Chrome的Automate控制檯;IE特別不受支持。

Chef DK(開發套件)在MacOS 10.11,RHEL 6,SUSE 11,Ubuntu LTS,Windows 10或Windows Server 2012以及這些操作系統的更高版本上受到商業支持。Debian 7和Scientific Linux 6及更高版本提供社區支持。

總結

Chef Automate 1.8.3

提供全套企業功能,可自動化混合基礎架構的交付和持續運營。

優點

自動化混合基礎架構的交付和持續運營

支持基於代理和節點的無代理控制

擁有大量模塊

可在AWS上作為服務提供

在大多數現代操作系統上支持代理運行

缺點

Chef Automate Server需要RHEL,SUSE或Ubuntu OS

正確安裝需要多臺服務器

原文鏈接:

https://www.infoworld.com/article/3281098/devops/why-use-chef-for-automation-and-orchestration.html

譯者 肖力

新鈦雲服技術副總裁,十九年運維經驗,曾就職盛大、金山。豐富的私有云和運維管理經驗,是國內虛擬化實踐先驅者和業內知名的虛擬化專家,主導參與G雲、西山居以及多個私有云/專享雲的建設運維。開源雲聯盟WG5工作組組長。雲技術社區創始人,《深度實踐KVM》等書作者。


分享到:


相關文章: