如何選擇云計(jì)算基礎(chǔ)設(shè)施自動(dòng)化的最佳工具

責(zé)任編輯:cres

作者:Fredric Paul

2018-08-24 09:59:14

來(lái)源:企業(yè)網(wǎng)D1Net

原創(chuàng)

云遷移不會(huì)自行發(fā)生,在遷移項(xiàng)目成功之前并不能完成工作和任務(wù)。企業(yè)將業(yè)務(wù)遷移到云平臺(tái)的最大好處之一是可以降低工作和運(yùn)營(yíng)成本,其中一個(gè)最重要的因素是云計(jì)算基礎(chǔ)設(shè)施的自動(dòng)化和配置。

企業(yè)需要深入了解將工作負(fù)載遷移到公共云的正確步驟,并因此降低成本。
 
云遷移不會(huì)自行發(fā)生,在遷移項(xiàng)目成功之前并不能完成工作和任務(wù)。企業(yè)將業(yè)務(wù)遷移到云平臺(tái)的最大好處之一是可以降低工作和運(yùn)營(yíng)成本,其中一個(gè)最重要的因素是云計(jì)算基礎(chǔ)設(shè)施的自動(dòng)化和配置。通過(guò)基于云計(jì)算基礎(chǔ)設(shè)施的配置、設(shè)置和管理實(shí)現(xiàn)自動(dòng)化,組織可以騰出時(shí)間和資源來(lái)進(jìn)行關(guān)鍵任務(wù)創(chuàng)新,而不是日常維護(hù)。
 
幸運(yùn)的是,有許多云計(jì)算基礎(chǔ)設(shè)施自動(dòng)化工具可用于幫助加快流程。此外,許多相關(guān)工具也可能有所幫助。雖然沒(méi)有一種工具適合所有情況,但這個(gè)指南可以為考慮所提供的各種優(yōu)勢(shì)提供幫助,并選擇最能滿足企業(yè)的云計(jì)算基礎(chǔ)設(shè)施需求的優(yōu)勢(shì),無(wú)論企業(yè)的遷移是針對(duì)公共云、私有云還是混合云架構(gòu)。
 
(1)AWS CloudFormation
 
為了幫助確保其在所有云計(jì)算領(lǐng)域的領(lǐng)導(dǎo)地位,亞馬遜公司的AWS CloudFormation允許用戶使用YAML或JSON對(duì)資源進(jìn)行建模,對(duì)它們實(shí)現(xiàn)自動(dòng)化,然后將它們部署在基于AWS的基于云計(jì)算的基礎(chǔ)設(shè)施中。
 
如果企業(yè)使用或計(jì)劃使用基于AWS的云計(jì)算產(chǎn)品,CloudFormation可以幫助用戶確保所有團(tuán)隊(duì)的配置盡可能簡(jiǎn)單。
 
CloudFormation允許用戶立即運(yùn)行大量其他AWS工具,包括Amazon CloudWatch和AWS Elastic Beanstalk。CloudFormation還可以處理跨區(qū)域賬戶的自動(dòng)化管理,從而可以在業(yè)務(wù)擴(kuò)展時(shí)更輕松地?cái)U(kuò)展到新的區(qū)域設(shè)置。CloudFormation Change Sets是在基礎(chǔ)設(shè)施發(fā)生之前預(yù)覽即將發(fā)生的更改的好方法。
 
如果用戶計(jì)劃使用AWS云,可以采用CloudFormation盡可能多地完成任務(wù)。
 
(2)Puppet
 
作為配置自動(dòng)化市場(chǎng)的長(zhǎng)期領(lǐng)導(dǎo)者,Puppet幫助當(dāng)今一些最大的軟件團(tuán)隊(duì)建模、配置和系統(tǒng)地實(shí)施其基礎(chǔ)設(shè)施的所需配置。借助該公司的商業(yè)產(chǎn)品Puppet Enterprise,用戶可以以驚人的規(guī)模管理基于云計(jì)算基礎(chǔ)設(shè)施的各個(gè)方面,從計(jì)算到存儲(chǔ)再到網(wǎng)絡(luò)資源(對(duì)于基本部署,可以考慮超過(guò)20,000個(gè)節(jié)點(diǎn))。它適用于公共云、私有云和混合云。用戶使用Puppet的特定于域的語(yǔ)言(DSL)編寫模塊,這些語(yǔ)言為用戶在每個(gè)節(jié)點(diǎn)上安裝的代理程序強(qiáng)制執(zhí)行的配置提供代碼。
 
使用Puppet Enterprise,用戶可以獲得開箱即用的編排和基于任務(wù)的命令執(zhí)行和多設(shè)備管理。其GUI控制臺(tái)可以輕松地對(duì)用戶部署的所有云計(jì)算進(jìn)行分類和管理。雖然Puppet DSL以花費(fèi)一段時(shí)間來(lái)學(xué)習(xí)而聞名,但收益可能很大。
 
Puppet公司與微軟、VMware,、谷歌和亞馬遜等主要廠商保持著整合和合作關(guān)系。例如,針對(duì)Puppet Enterprise的AWS Opswork提供了一套完全集成的自動(dòng)化工具套件,用于管理基于云計(jì)算的基礎(chǔ)設(shè)施。
 
如果用戶需要標(biāo)記強(qiáng)制配置和漂移補(bǔ)救,Puppet是其良好的自動(dòng)化工具。
 
(3)Ansible
 
最近受到RedHat的保護(hù),Ansible正迅速成為基于其易于使用,基于任務(wù)的基礎(chǔ)設(shè)施自動(dòng)化的行業(yè)標(biāo)準(zhǔn)。Ansible公司聲稱,用戶不需要具有計(jì)算機(jī)科學(xué)的深厚背景就可以采用簡(jiǎn)單的語(yǔ)言自動(dòng)化、配置或編排任務(wù),用戶可以將其打包在“劇本”中。此外,用戶可以輕松管理云計(jì)算基礎(chǔ)架構(gòu)的所有方面,而無(wú)需在云計(jì)算基礎(chǔ)設(shè)施中的任何位置安裝單個(gè)代理。
 
Ansible Tower的主要功能(Ansible的商業(yè)產(chǎn)品)包括作業(yè)調(diào)度、基于GUI的庫(kù)存管理、多個(gè)游戲工作流程,以及靈活的REST API,可讓用戶在幾乎任何基于任務(wù)的配置管理過(guò)程中嵌入Ansible Tower。
 
主要集成包括AWS、Microsoft Azure、VMware、Rackspace、Digital Ocean和谷歌云。
 
使用Ansible的任務(wù)執(zhí)行自動(dòng)化配置可能會(huì)讓用戶的工作感覺(jué)有點(diǎn)過(guò)于簡(jiǎn)單。
 
(4)Chef
 
Chef公司是基礎(chǔ)設(shè)施配置領(lǐng)域中的另一家資深廠商。與Puppet一樣,Chef公司提供自己的DSL來(lái)幫助用戶實(shí)施從配置策略到持續(xù)交付生產(chǎn)代碼的所有內(nèi)容。對(duì)于Chef Automate用戶(Chef的商業(yè)平臺(tái)),可以每小時(shí)自動(dòng)管理基于AWS的自托管基礎(chǔ)設(shè)施,或使用AWS Opswork實(shí)施Chef Automate。
 
借助Chef Automate,用戶可以獲得詳細(xì)的合規(guī)性管理、高可用性和基于GUI的工作流程管道創(chuàng)建等關(guān)鍵功能。主要集成包括AWS、Microsoft Azure、VMware、谷歌云。
 
如果用戶需要合規(guī)管理,Chef是一個(gè)不錯(cuò)的選擇。
 
(5)Kubernetes
 
Kubernetes最初由谷歌公司開發(fā),是一個(gè)容器編排平臺(tái),用于自動(dòng)化容器化應(yīng)用程序的部署、擴(kuò)展和管理。事實(shí)上,它已成為容器編排的事實(shí)標(biāo)準(zhǔn),并且是云原生計(jì)算基金會(huì)的旗艦項(xiàng)目,由谷歌、AWS、微軟、IBM,英特爾、思科和RedHat等主要廠商提供支持。
 
雖然它不是一個(gè)真正的基礎(chǔ)設(shè)施配置管理工具,但Kubernetes可以輕松部署和運(yùn)行基于微服務(wù)架構(gòu)的應(yīng)用程序,幾乎適用于任何云。它通過(guò)在一組主機(jī)之上創(chuàng)建一個(gè)抽象層來(lái)實(shí)現(xiàn)這一點(diǎn),開發(fā)團(tuán)隊(duì)可以部署他們的應(yīng)用程序,讓Kubernetes管理諸如控制應(yīng)用程序或團(tuán)隊(duì)的資源消耗,在主機(jī)基礎(chǔ)設(shè)施中均勻分布應(yīng)用程序負(fù)載以及自動(dòng)加載平衡請(qǐng)求之類的事情。
 
考慮采用容器和微服務(wù)架構(gòu)?許多人懷疑Kubernetes有朝一日會(huì)使傳統(tǒng)的配置管理工具完全過(guò)時(shí)。
 
(6)Terraform
 
基礎(chǔ)設(shè)施管理的另一個(gè)方面是“基礎(chǔ)設(shè)施即代碼”的概念。AWS、微軟、谷歌公司這三個(gè)行業(yè)巨頭都聲稱這是一個(gè)中心哲學(xué),Terraform也不例外。簡(jiǎn)而言之,Terraform是一個(gè)開源工具,用戶可以使用它來(lái)編寫聲明性配置文件來(lái)創(chuàng)建和修改基礎(chǔ)設(shè)施,但它并不完全是配置自動(dòng)化工具。
 
如果用戶在基于云計(jì)算的工作流(例如AWS)中使用企業(yè)的商業(yè)產(chǎn)品Terraform Enterprise,那么用戶將編寫版本控制配置的模塊、聲明創(chuàng)建或修改高級(jí)資源,例如Amazon EC2實(shí)例或Amazon Relational Database Service(RDS)資源。Terraform可以借助廣泛的資源圖形和執(zhí)行計(jì)劃幫助用戶自動(dòng)配置這些資源。但是用戶仍然可能需要像Puppet或Chef這樣的配置管理工具來(lái)幫助其在這些資源上自動(dòng)設(shè)置和執(zhí)行軟件。
 
Terraform的主要集成包括AWS、谷歌云平臺(tái),Microsoft Azure云平臺(tái)和Oracle云。
 
Terraform非常重視“基礎(chǔ)設(shè)施即代碼”。用戶會(huì)得到所期望的強(qiáng)大而穩(wěn)定的聲明性配置。
 
(7)谷歌云計(jì)算部署管理器(Google Cloud Deployment Manager)
 
如果用戶計(jì)劃使用谷歌云平臺(tái)構(gòu)建云計(jì)算基礎(chǔ)設(shè)施,請(qǐng)采用云計(jì)算部署管理器。在這里,用戶可以使用并行、可重復(fù)的部署和模板驅(qū)動(dòng)的配置自動(dòng)配置和部署谷歌云。云計(jì)算部署管理器提供了一系列豐富的工具,從CLI和API到GUI,用于管理基礎(chǔ)設(shè)施配置和管理的所有階段,從資源創(chuàng)建到刪除。
 
(8)Microsoft AzureAutomation
 
Azure Automation提供基于云計(jì)算的自動(dòng)化和配置服務(wù),可在Azure和非Azure環(huán)境中提供一致的管理。它由流程自動(dòng)化、更新管理和配置功能組成,旨在幫助用戶減少錯(cuò)誤,并減少基礎(chǔ)設(shè)施部署所花費(fèi)的時(shí)間。Azure Automation還提供對(duì)維護(hù)和合規(guī)性運(yùn)行的自動(dòng)控制。
 
最重要的是,它不僅僅適用于微軟使用Azure自動(dòng)化,用戶可以使用通過(guò)PowerShell或Python Runbook觸發(fā)的自動(dòng)化為Windows或Linux主機(jī)進(jìn)行異構(gòu)部署。
 
微軟公司顯然表現(xiàn)出對(duì)現(xiàn)代DevOps從業(yè)者的奉獻(xiàn)精神。如果用戶需要運(yùn)行各種操作系統(tǒng),Azure可能是一種很好的方式。
 
(9)思科智能自動(dòng)化云平臺(tái)(Cisco Intelligent Automation for Cloud)
 
思科公司提供了許多從私有到公共到混合解決方案的云計(jì)算產(chǎn)品。除了這些產(chǎn)品外,思科智能自動(dòng)化云平臺(tái)還提供從基礎(chǔ)設(shè)施即服務(wù)(IaaS)到在思科云或其他云環(huán)境(包括AWS、OpenStack和VMware)中運(yùn)行的實(shí)例的實(shí)際配置和管理。
 
主要功能包括為用戶的云計(jì)算用戶、多租戶和網(wǎng)絡(luò)服務(wù)自動(dòng)化提供的自助服務(wù)門戶。盡管思科公司明確創(chuàng)建自己的云計(jì)算基礎(chǔ)架構(gòu)產(chǎn)品,但思科智能云計(jì)算自動(dòng)化平臺(tái)能夠?qū)⒆詣?dòng)化工具擴(kuò)展到其他生態(tài)系統(tǒng)中。
 
(10)SaltStack
 
最初是像Puppet和Chef這樣的開源項(xiàng)目,Saltstack也加入了企業(yè)領(lǐng)域,主要關(guān)注自動(dòng)化安全合規(guī)性。與Ansible一樣,SaltStack可以無(wú)代理運(yùn)行(但如果用戶的工作流需要,也可以運(yùn)行代理)。
 
如果用戶有興趣遷移到云平臺(tái),SaltStack提供了一個(gè)與云計(jì)算提供商進(jìn)行交互的界面,稱為Salt Cloud,因此用戶可以使用Salt來(lái)配置和管理基于云計(jì)算基礎(chǔ)設(shè)施的所有方面。
 
SaltStack的主要功能包括無(wú)代理節(jié)點(diǎn)管理和卓越的安全合規(guī)性工具。它還與AWS、Microsoft Azure、VMware、Rackspace、Digital Ocean、OpenStack和谷歌云進(jìn)行了重要的云集成。
 
如今,安全合規(guī)似乎是一個(gè)巨大的問(wèn)題,所以如果這是一個(gè)問(wèn)題,也許SaltStack是用戶想要的方式。
 
(11)VMware vCenter配置管理器(VCM)
 
VMware世界的這一小部分可幫助用戶配置和維護(hù)VMware云環(huán)境(在AWS和RackSpace等供應(yīng)商上運(yùn)行),以滿足其運(yùn)營(yíng)、安全和合規(guī)性要求。
 
VCM為用戶提供了一個(gè)控制基于VMware的基礎(chǔ)設(shè)施配置的中心位置,無(wú)論它是在Windows、Linux還是Unix操作系統(tǒng)上運(yùn)行。企業(yè)還可以輕松選擇VMware集成,這有助于使用許多VMware工具(包括vCenter、vCloud Director和VMware vCloud Networking)跟蹤配置數(shù)據(jù),更改數(shù)據(jù),網(wǎng)絡(luò)配置和合規(guī)性策略。
 
(12)Cfengine
 
CFEngine是一種經(jīng)典的配置管理工具,長(zhǎng)期以來(lái)一直用于在各種規(guī)模的企業(yè)中實(shí)現(xiàn)IT基礎(chǔ)設(shè)施的自動(dòng)化。與Puppet等需要中央管理服務(wù)器的工具不同,CFEngine依賴于每五分鐘運(yùn)行一次的“自治代理”來(lái)強(qiáng)制執(zhí)行其主機(jī)配置。令人印象深刻的是,CFEngine允許用戶為每個(gè)管理服務(wù)器管理多達(dá)5,000個(gè)主機(jī)。
 
CFEngine與用戶的Amazon EC2基礎(chǔ)架構(gòu)集成。
 
(13)Foreman
 
如果用戶需要一個(gè)輕量級(jí)工具來(lái)管理服務(wù)器的整個(gè)生命周期,從裸機(jī)到配置再到業(yè)務(wù)流程,開源Foreman項(xiàng)目可以提供幫助。但請(qǐng)注意,F(xiàn)oreman依賴于與開源Puppet的相當(dāng)深度的集成來(lái)進(jìn)行節(jié)點(diǎn)的配置管理,但它還為Chef、Ansible和Salt提供插件支持以用于其他管理方面。
 
其專門的開源社區(qū)擁有廣泛的插件庫(kù)。用戶可以在主要提供商(如Amazon EC2、Google Cloud Computing、OpenStack和VMware)上使用Foreman配置云計(jì)算實(shí)例。
 
Foreman絕對(duì)是構(gòu)建開源軟件團(tuán)隊(duì)的選擇之一。
 
結(jié)論
 
每個(gè)基礎(chǔ)設(shè)施自動(dòng)化工具都有其優(yōu)勢(shì)、劣勢(shì)和學(xué)習(xí)曲線。在選擇工具時(shí),用戶需要找到最符合項(xiàng)目需求和團(tuán)隊(duì)需求的工具。當(dāng)用戶開始云遷移時(shí),云計(jì)算供應(yīng)商構(gòu)建的工具可能是提供最簡(jiǎn)單的方法,尤其是如果用戶正在尋找“一站式服務(wù)”的時(shí)候。
 
也就是說(shuō),像Puppet、Chef和Ansible這樣的工具已經(jīng)為DevOps從業(yè)者在各種云環(huán)境中管理基礎(chǔ)設(shè)施建立了巨大的聲譽(yù),他們的集成證明了這一點(diǎn)。但一定要做好功課,因?yàn)橐恍┫嚓P(guān)的工具可能正是用戶所需要的。實(shí)際上,在許多情況下,用戶可能會(huì)發(fā)現(xiàn)最好的方法是將兩個(gè)或更多這些工具組合在一起。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)