云管理員可以使用各種各樣的工具和方法來實現(xiàn)Azure部署的自動化。決定runbooks、DSC或其他替代工具是否最適合用戶的實際需求。
自動化腳本程序和runbooks是系統(tǒng)管理員工具箱里的看家寶。遷移至云基礎(chǔ)設(shè)施——管理員可以在幾秒鐘內(nèi)進行實例化、移動和擴展虛擬資源——只強調(diào)了一致性可重復(fù)管理過程的重要性。
對于Windows操作系統(tǒng)的管理員來說,PowerShell一直以來都是首選的腳本程序工具。而在今天,PowerShell則更是成為了微軟Azure自動化服務(wù)的堅強骨干。
雖然Azure自動化最初也是圍繞PowerShell工作流程(這是一系列可執(zhí)行任務(wù)和命令的步驟,即所謂的runbooks)進行設(shè)計開發(fā)的,但是它現(xiàn)在還支持聲明模式。這些模式描述了被稱為期望狀態(tài)配置(DSC)的一個系統(tǒng)或服務(wù)配置,這種方法首先是由PowerShell引入的。
這兩種自動化技術(shù)為用戶提供了實現(xiàn)相同目標(biāo)的不同方法。Runbooks就如同是為從A點到B點提供了精確的轉(zhuǎn)向?qū)Ш椒较蛞话?,而DSC則是為GPS地圖軟件設(shè)置了一個目的地,并讓它計算到達(dá)目的地的最佳路徑。
這里是在選擇兩種方法時所需予以考慮的一些事項。
Azure Runbooks
微軟Azure自動化服務(wù)中的工作方式是與其在Windows Server中一樣的;管理員可以使用PowerShell通過API來控制任何服務(wù)。此外,包括PowerShell模塊實施cmdlet在內(nèi)的任何應(yīng)用都可以通過Azure自動化工作流程進行控制。雖然自動化runbooks是專為管理Azure服務(wù)而設(shè)計開發(fā)的,但是他們還可以使用被稱為混合Runbook Workers的功能來控制私有數(shù)據(jù)中心內(nèi)的資源。
管理員可以從頭開始創(chuàng)建工作流程或在Runbook Gallery中的可用工作流程基礎(chǔ)上進行微調(diào)。他們還可以在文本編輯器中使用PowerShell 代碼或者在Azure門戶上是用圖形UI來開發(fā)定制的runbooks。Azure門戶還配有一個顯示各個作業(yè)的作業(yè)活動與錯誤條件、資源使用情況以及日志詳細(xì)信息的信息顯示板。
建議與比較
自動化是提高管理效率和保持Azure一致性、可靠性和安全性的關(guān)鍵所在。以下是一些通過自動化技術(shù)實現(xiàn)更高效Azure管理的相關(guān)建議:
對于在單個公共云上實施標(biāo)準(zhǔn)化的企業(yè)來說,Azure自動化應(yīng)當(dāng)是系統(tǒng)管理腳本程序的默認(rèn)選項,因為它與Azure服務(wù)組合是緊密集成的,并支持大部分Windows管理員已經(jīng)在使用的腳本程序環(huán)境。
已經(jīng)熟悉PowerShell的Windows企業(yè)用戶應(yīng)當(dāng)使用它來構(gòu)建自動化runbooks。但是,他們還應(yīng)當(dāng)使用DSC對一些活動進行體驗,例如保持虛擬機配置和補丁程序級別同步等。這種方法的風(fēng)險是與特定供應(yīng)商綁定的。雖然亞馬遜網(wǎng)絡(luò)服務(wù)和谷歌云計算平臺都支持PowerShell,但是腳本程序本身不一定是可重用的。通過采用參數(shù)化方法(而不是硬編碼)、Azure特定API調(diào)用或?qū)⒛K中封裝Azure特定代碼,可嘗試確保代碼的可移植性,而不是依靠腳本程序本身。
Linux企業(yè)用戶可從學(xué)習(xí)使用PowerShell實現(xiàn)自動化中受益良多,但是他們可以從CLI入手,CLI可在任何shell環(huán)境中正常工作。
多云計算企業(yè)用戶應(yīng)當(dāng)充分調(diào)研可以跨公共云和私有云環(huán)境的第三方配置管理軟件。此外,因為自動化工具可以在持續(xù)集成和部署中發(fā)揮作用,企業(yè)用戶在作出決策之前可咨詢相關(guān)開發(fā)人員和DevOps團隊。
Azure DSC
DSC描述了Azure節(jié)點所需的配置。當(dāng)企業(yè)用戶在運行集群(其中多個節(jié)點共享相同配置)時,例如負(fù)載平衡web前端或VDI服務(wù)器,這種方法是特別有用的。DSC 需要一個Pull服務(wù)器,它可以存儲節(jié)點配置并將其發(fā)送至每臺托管節(jié)點上的本地配置管理器(LCM)引擎。LCM可對配置信息進行解析,使用Windows Management Instrumentation將其與現(xiàn)有狀態(tài)進行比較并執(zhí)行任何所需的變更。
與runbooks一樣,DSC是一個使用配置塊的PowerShell腳本程序,管理員可以使用它來開發(fā)自定義的DSC資源。微軟公司還提供了十二個內(nèi)置的DSC資源,其中包括了歸檔文件、寫入時間日志或管理注冊表項的功能。
無論是使用runbooks還是使用DSC,微軟Azure自動化可用于各種各樣的云計算管理任務(wù),例如跨Azure訂閱區(qū)或區(qū)域創(chuàng)建和克隆虛擬機,或者在一個訂閱區(qū)內(nèi)跨所有機器進行安全策略的配置和修改。
Azure自動化服務(wù)的替代品
通過上述所列出的相同runbook功能,管理員還可以在任何PC上使用PowerShell或命令行界面(CLI)來對Azure進行腳本程序開發(fā)和運行。由于PowerShell現(xiàn)在是開源的,所以用戶使用它是不需要Windows的;但是對于OS X、Ubuntu以及CentOS等操作系統(tǒng)來說,是需要安裝相關(guān)安裝包的。
微軟還為可用于Windows、Mac OS X和Linux等操作系統(tǒng)的Azure提供了CLI和開源shell命令。CLI可以與Azure資源管理器或傳統(tǒng)的Azure管理門戶一起使用。
管理員還可以使用諸如Chef、Puppet、Ansible以及Salt這樣的第三方DevOps軟件來自動化實現(xiàn)Azure資源與管理系統(tǒng)的安裝、配置、更新、安全補丁升級等工作。Chef 已將其軟件與Azure集成以簡化Azure Marketplace中預(yù)配置Chef服務(wù)器的部署。