復(fù)雜性是云計算普及路上的一個潛在殺手:為了實(shí)現(xiàn)云服務(wù)所承諾的可擴(kuò)展性以及高可靠性,基于云的系統(tǒng)架構(gòu)就會變得越來越復(fù)雜。而服務(wù)本身必須設(shè)計具有足夠的冗余度并且有自我監(jiān)控能力,數(shù)據(jù)必須能夠自動備份到多個不同地點(diǎn),同時多個服務(wù)器間的工作負(fù)載必須平衡。隨著企業(yè)越來越多的關(guān)鍵性應(yīng)用遷移到云環(huán)境,系統(tǒng)錯誤的風(fēng)險,以及與任何錯誤相關(guān)的成本損失,都會相應(yīng)的增加。
在傳統(tǒng)的IT系統(tǒng)中,使風(fēng)險最小化的方法就是設(shè)置監(jiān)控和報警系統(tǒng)。與這些系統(tǒng)不同,隨著云計算系統(tǒng)的復(fù)雜性日益增加,任何人或者團(tuán)隊都無法對于系統(tǒng)出現(xiàn)的故障做出足夠與及時的反應(yīng)。而隨著云服務(wù)之間的交互性越來越強(qiáng),很難快速鎖定系統(tǒng)錯誤的始發(fā)點(diǎn),而人工介入調(diào)查往往會導(dǎo)致更大的風(fēng)險出現(xiàn)。
如果雇傭大規(guī)模的IT團(tuán)隊來管理云服務(wù)系統(tǒng),就意味著將企業(yè)應(yīng)用遷移到云服務(wù)所帶來的成本節(jié)約效果完全消失。而降低云服務(wù)系統(tǒng)的復(fù)雜性,看上去也并不是一條可行的路線。
而唯一可行的方案,就只能依靠自動化的任務(wù)管理工具了。隨著云架構(gòu)、平臺以及軟件的進(jìn)化,很多專業(yè)性的云服務(wù)管理解決方案應(yīng)運(yùn)而生,這些方案可以讓企業(yè)在云上的日子過得更舒適。
基于云的監(jiān)控和報警
此類工具中最好的產(chǎn)品屬于基于云的自動化監(jiān)控工具。此類工具可以讓任何人監(jiān)控不同服務(wù)器上的多種資源,并根據(jù)所監(jiān)控的任何參數(shù)設(shè)定報警觸發(fā)機(jī)制。此類產(chǎn)品的代表之作是Amazon的 CloudWatch 和CloudKick (目前已經(jīng)被Rackspace收購)。這兩款解決方案都支持對資源的實(shí)時監(jiān)控,并自帶多種報警設(shè)置。這兩款產(chǎn)品同樣都擁有豐富的可視化界面,并且具有可擴(kuò)展性。 CloudKick支持所謂的“插件”,即客戶自定義的監(jiān)控腳本,而CloudWatch則通過API的方式與其它應(yīng)用程序通信,獲取監(jiān)控信息。
這兩款解決方案的不同之處在于它們的監(jiān)控范圍。CloudWatch 的監(jiān)控重點(diǎn)放在Amazon自身的服務(wù)器和服務(wù)上,并通過API以及客戶的相應(yīng)開發(fā),來支持其它服務(wù)器。而CloudKick則可以支持更多的云服務(wù)供應(yīng)商,雖然這種支持是通過代理來實(shí)現(xiàn)的,但這些代理可以支持多種操作系統(tǒng)。因此他可以更快更容易的開始監(jiān)控任何云服務(wù)器,而不管是哪家的云服務(wù)供應(yīng)商。
另一種方案是由很多大型云服務(wù)供應(yīng)商提供的云服務(wù)器管理服務(wù)。雖然這種方案并不算真正的自動化工具,但是卻可以讓管理云服務(wù)器的工作變得更簡單。但不幸的是,這些服務(wù)一般都非常昂貴。而如果考慮到價格差異,為了獲得高可靠性的另一個方案就是選擇多個云服務(wù)供應(yīng)商,這意味著會有不同的人來管理企業(yè)架構(gòu)的不同部分(基本上也會有不同的服務(wù)等級),這種方案基本上沒有任何吸引力。
從監(jiān)控到自我修復(fù)、直至更高級的功能
一旦應(yīng)用了上述監(jiān)控解決方案,原本由管理員手工處理的工作就轉(zhuǎn)為了自動執(zhí)行的任務(wù)。很多云服務(wù)供應(yīng)商都帶有自己的報警系統(tǒng),可以集成進(jìn)監(jiān)控解決方案中,此類功能可以通過電郵,電話或SMS短信的方式將警告信息發(fā)送給管理員。但是報警僅僅是第一步。
諸如Rackspace 和 Amazon這樣的供應(yīng)商可以提供API,通過API可以實(shí)現(xiàn)一系列自動化任務(wù),實(shí)現(xiàn)系統(tǒng)的可靠運(yùn)轉(zhuǎn)。比如,一旦監(jiān)控系統(tǒng)檢測到CPU或內(nèi)存超載,系統(tǒng)就會自動加大CPU或內(nèi)存的處理能力,同時將報警信息傳遞給技術(shù)支持團(tuán)隊。在極端情況下,該方案還可以自動將出現(xiàn)問題的服務(wù)器下線,并將該服務(wù)器的IP動態(tài)分配給新的服務(wù)器,而這個過程作為用戶是察覺不到的。
監(jiān)控自動化是把雙刃劍
和很多以技術(shù)為基礎(chǔ)的解決方案一樣,監(jiān)控自動化解決方案也是一把雙刃劍。在一些失敗的案例中,自動化的數(shù)據(jù)恢復(fù)過程可能會導(dǎo)致災(zāi)難性的后果。實(shí)際上,Amazon在去年4.21日就出現(xiàn)過這樣的情況。當(dāng)時一個配置上的錯誤導(dǎo)致了一個可用性錯誤,繼而觸發(fā)了系統(tǒng)的自動化響應(yīng)機(jī)制,最終導(dǎo)致大范圍的系統(tǒng)不可用。同時,在安裝設(shè)置過程中必須確定的一系列元素,也使得人工參與管理變得很不可行。
當(dāng)然,如果依賴于傳統(tǒng)的監(jiān)控系統(tǒng)來跟蹤云應(yīng)用服務(wù),也不是不可行,只不過傳統(tǒng)的監(jiān)控系統(tǒng)不是針對監(jiān)控云應(yīng)用而設(shè)計的。而這些產(chǎn)品中的大部分要么是沒有針對云環(huán)境進(jìn)行商業(yè)化開發(fā),要么就是缺少某種監(jiān)控云服務(wù)所必須的功能,或者是許可證費(fèi)用太高。自動化并合理的使用API對于監(jiān)控系統(tǒng)來說十分重要,尤其是在云環(huán)境中。因此,企業(yè)應(yīng)當(dāng)盡量使用專業(yè)的云解決方案。