云自動(dòng)動(dòng)態(tài)管理策略能擺脫模式束縛
在大部分的IT歷史上,應(yīng)用程序開(kāi)發(fā)是在一個(gè)“基于盒子”的模式中完成的。在這個(gè)模式中,組件都是被鏈接至一個(gè)機(jī)器鏡像,而這個(gè)鏡像被托管在數(shù)據(jù)中心的一個(gè)靜態(tài)服務(wù)器上。云計(jì)算具有資源靈活性和敏捷性的目標(biāo),所以它要求在應(yīng)用程序組件和它們的資源中具有更動(dòng)態(tài)的關(guān)聯(lián)性。云計(jì)算自動(dòng)動(dòng)態(tài)管理就是這樣一個(gè)實(shí)現(xiàn)的方法,但是其前提就是要進(jìn)行正確規(guī)劃與實(shí)施。
自動(dòng)動(dòng)態(tài)管理就是實(shí)現(xiàn)應(yīng)用程序組件部署與重新部署的自動(dòng)化,從而正確地建立和維護(hù)組件間的鏈接與應(yīng)用程序間的鏈接。在實(shí)踐中,自動(dòng)動(dòng)態(tài)管理將涉及兩個(gè)基本要素:
1. 部署應(yīng)用程序組件,其中包括了軟件組件和數(shù)據(jù)庫(kù)組件;
2. 創(chuàng)建允許組件間通信的網(wǎng)絡(luò)連接,以及至用戶與其他應(yīng)用程序的連接。
雖然這個(gè)定義也適用于所有不同的自動(dòng)動(dòng)態(tài)管理選項(xiàng)和工具,但在方法上是存在著鮮明的差異的。
混合云計(jì)算應(yīng)用:集成就是簡(jiǎn)單的自動(dòng)動(dòng)態(tài)管理
最簡(jiǎn)單的自動(dòng)動(dòng)態(tài)管理形式就是集成,它可在云計(jì)算部署的組件和固定應(yīng)用程序與資源之間建立連接。對(duì)于一些混合云計(jì)算的應(yīng)用程序來(lái)說(shuō),云計(jì)算組件與數(shù)據(jù)中心的集成可能就是唯一所需的自動(dòng)動(dòng)態(tài)管理過(guò)程。
從主要的軟件供應(yīng)商到第三方軟件供應(yīng)商,他們都提供了大量用于實(shí)現(xiàn)云計(jì)算集成功能的商業(yè)工具,而在混合云計(jì)算配置中,還有用于集成具體應(yīng)用程序的預(yù)包裝“配方”。請(qǐng)與供應(yīng)商確認(rèn),以確保你的應(yīng)用程序需求都包括在內(nèi)。
開(kāi)發(fā)運(yùn)行自動(dòng)動(dòng)態(tài)管理工具采用基于腳本程序的方法
大部分的全功能云計(jì)算自動(dòng)動(dòng)態(tài)管理工具都屬于開(kāi)發(fā)運(yùn)行產(chǎn)品的類別。開(kāi)發(fā)運(yùn)行都是基于應(yīng)用程序開(kāi)發(fā)人員了解應(yīng)用程序必須如何被托管以及如何連接組件的原則的。在開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)人員將創(chuàng)建這個(gè)部署/連接的一個(gè)開(kāi)發(fā)運(yùn)行“圖” ,而這個(gè)圖可在有需要的時(shí)候用于部署應(yīng)用程序。
開(kāi)發(fā)運(yùn)行工具是程序性的或基于腳本程序的;在最簡(jiǎn)單的形式中,一個(gè)開(kāi)發(fā)運(yùn)行 程序或腳本程序可能就是一個(gè)運(yùn)營(yíng)團(tuán)隊(duì)成員用于輸入以部署和連接應(yīng)用程序的一個(gè)命令集。諸如IP地址這樣只在部署過(guò)程中制定的信息是給出符號(hào)名稱的,這是在托管組件時(shí)被填入的信息,而這些信息可在之后創(chuàng)建組件連接時(shí)被引用。
基于腳本程序的工具具有易于從手動(dòng)過(guò)程中得到優(yōu)點(diǎn)。它們***的缺點(diǎn)是,它們描述的是過(guò)程而不是結(jié)果;一個(gè)腳本程序必須為可能遇到的一切用例提供指令。一些用戶報(bào)告說(shuō),維護(hù)開(kāi)發(fā)運(yùn)行腳本程序的難度要比維護(hù)軟件更高,因?yàn)閱螁伍喿x開(kāi)發(fā)運(yùn)行腳本程序是很難了解期望的結(jié)果是什么。如果使用了基于腳本程序的自動(dòng)動(dòng)態(tài)管理功能,那么真實(shí)記錄正在完成的工作以及注意任何基本程序不適合處理的條件是非常重要的。
目前市場(chǎng)上有開(kāi)源的和商業(yè)的開(kāi)發(fā)運(yùn)行工具,因此研究最適合你的公司和開(kāi)發(fā)團(tuán)隊(duì)的工具是非常有必要的。
基于模式的方法證明了云計(jì)算供應(yīng)商
基于腳本程序的自動(dòng)動(dòng)態(tài)管理是虛擬化中的規(guī)則,但是網(wǎng)絡(luò)運(yùn)營(yíng)商和云計(jì)算供應(yīng)商還是鐘意于使用基于模式的方法的,因?yàn)樗鼈兲峁┝烁玫姆?wù)生命周期管理。在基于模式的自動(dòng)動(dòng)態(tài)管理中,你描述了你的工作架構(gòu)、創(chuàng)建了約束(例如運(yùn)行了哪些組件和連接的類型),以及軟件開(kāi)發(fā)了你定義的結(jié)構(gòu)。這些模式通常是易讀易懂的,因?yàn)樗鼈兌x了你試圖的實(shí)現(xiàn)而不是采用開(kāi)發(fā)運(yùn)行方法所需經(jīng)歷的步驟。IT部門(mén)可以使用這些模式來(lái)重新使用失敗的應(yīng)用程序元素,撤下應(yīng)用程序或改變生命周期——如果使用了基于腳本程序的自動(dòng)動(dòng)態(tài)管理,那么所有這些都需要有它們自己獨(dú)立的腳本程序。
但是,由于用戶和運(yùn)營(yíng)商的不同需求,基于腳本程序和基于模式的混合方法已在云計(jì)算中變得相當(dāng)?shù)钠胀?。例如,在OpenStack中,基于模式的方法可被用于應(yīng)用程序以開(kāi)發(fā)一系列的子網(wǎng),子網(wǎng)的組件是托管的并被連接入更高級(jí)別的網(wǎng)絡(luò)。OpenStack Neutron是OpenStack的網(wǎng)絡(luò)部分,它定義了網(wǎng)絡(luò)的模式,但是如果要部署應(yīng)用程序和數(shù)據(jù)庫(kù)組件,那么就需要使用到其他的OpenStack服務(wù)了。一個(gè)OpenStack開(kāi)發(fā)運(yùn)行工具可能會(huì)創(chuàng)建Neutron網(wǎng)絡(luò)模式并在之后通過(guò)使用計(jì)算資源或DBMS/塊存儲(chǔ)部署組件來(lái)把組件部署在已定義好的網(wǎng)絡(luò)單元中。
實(shí)現(xiàn)云計(jì)算自動(dòng)動(dòng)態(tài)管理的步進(jìn)式方法
無(wú)論你的公司選擇使用何種工具,實(shí)施云計(jì)算自動(dòng)動(dòng)態(tài)管理的***步就是完成一個(gè)完整的手動(dòng)應(yīng)用程序部署工作并仔細(xì)地記錄其中的每個(gè)步驟。特別重要的一點(diǎn)是,要標(biāo)記出所有之后可能用到的每一個(gè)步驟的結(jié)果的所在——例如一個(gè)組件的地址信息。這將建立自動(dòng)動(dòng)態(tài)管理希望完成的基線,同時(shí)就可以使用之前手工記錄的步驟來(lái)開(kāi)發(fā)腳本程序或模式。
從手工步驟開(kāi)始以一個(gè)變量把之前步驟的結(jié)果取代每一個(gè)參考就形成了一個(gè)基于腳本程序的自動(dòng)動(dòng)態(tài)管理過(guò)程。這樣做會(huì)使自動(dòng)動(dòng)態(tài)管理腳本程序更具通用性。這樣做聽(tīng)上去似乎很復(fù)雜,但這與為網(wǎng)頁(yè)控制開(kāi)發(fā)JavaScript程序的差別很小。
基于模式的自動(dòng)動(dòng)態(tài)管理要求根據(jù)他們的目標(biāo)對(duì)步驟進(jìn)行分組——例如,之前定義的子網(wǎng)的主機(jī)組件。這些分組必須與現(xiàn)在使用的模式相關(guān)聯(lián)。
測(cè)試是云計(jì)算自動(dòng)動(dòng)態(tài)管理的***一個(gè)步驟。你的自動(dòng)動(dòng)態(tài)管理腳本程序或模式在被激活的狀態(tài)下,應(yīng)當(dāng)部署一個(gè)能夠正常運(yùn)行的軟件系統(tǒng)。對(duì)于任何與你手工過(guò)程有偏差的細(xì)節(jié),都應(yīng)進(jìn)行審查,以確保你的自動(dòng)動(dòng)態(tài)管理中沒(méi)有錯(cuò)誤。請(qǐng)務(wù)必同樣記錄好你的測(cè)試/驗(yàn)證步驟,因?yàn)樵朴?jì)算自動(dòng)動(dòng)態(tài)管理是應(yīng)用程序生命周期管理中一個(gè)關(guān)鍵的單元,同樣它也是確保支持你的業(yè)務(wù)的應(yīng)用程序穩(wěn)定運(yùn)行的關(guān)鍵所在。請(qǐng)正確地開(kāi)發(fā)和維護(hù)一個(gè)完整的、可審計(jì)的軟件生命周期過(guò)程,否則你之后一定感到后悔的。