如何最小化云宕機(jī)事件的影響?
與一般流行的看法正好相反,云服務(wù)實際上比內(nèi)部數(shù)據(jù)中心設(shè)施的故障率更高。云計算并不是天生就是不可靠的,但是如同所有的IT形式一樣,必須仔細(xì)挑選和管理云服務(wù)以實現(xiàn)特定的可靠性和可用性目標(biāo)。這些步驟可以是合同形式的、是技術(shù)形式的或者甚至可能需要重新思考你的應(yīng)用程序架構(gòu)。如果沒有經(jīng)過慎重考慮,那么你從云計算中的收益可能要少于你的預(yù)期。
SLA降低了使用云廠商數(shù)據(jù)中心而產(chǎn)生的風(fēng)險
免受云宕機(jī)事件影響的第一步就是要評估云廠商數(shù)據(jù)中心的可靠性。大部分的云廠商都擁有著很少數(shù)量的數(shù)據(jù)中心,通常情況下只有一個,而這些數(shù)據(jù)中心易于產(chǎn)生與企業(yè)相同類型的故障。最廣為人知的云計算故障往往是那些整個云計算數(shù)據(jù)中心發(fā)生故障的事件,通常都是由于自然災(zāi)害而發(fā)生的故障。為了在有可能發(fā)生的故障中保護(hù)好你自己,你必須要求特定的數(shù)據(jù)中心配置信息或從你的供應(yīng)商那里獲得可用性保證。
對于服務(wù)器、存儲設(shè)備和網(wǎng)絡(luò)的可用性,最好的策略是在談判時就確定SLA,以便于指定可用性保證和發(fā)生故障時恢復(fù)服務(wù)的時間。用戶應(yīng)當(dāng)了解在云計算數(shù)據(jù)中心所在的區(qū)域是否會經(jīng)常發(fā)生諸如颶風(fēng)或暴風(fēng)雪這樣的災(zāi)害性天氣,這一點是非常重要。同時,還應(yīng)確定數(shù)據(jù)中心是否配有備用電源,是否配有一個能夠接替正常工作的備用數(shù)據(jù)中心。
備份數(shù)據(jù)中心必須位于不同于主數(shù)據(jù)中心的另一區(qū)域,所以它就不會受到相同問題的影響,同時它還必須擁有足夠的容量以處理云應(yīng)用的故障轉(zhuǎn)移。由于很少有供應(yīng)商能夠為主數(shù)據(jù)中心的100%故障轉(zhuǎn)移提供足夠的備份數(shù)據(jù)中心容量,所以SLA將說明如何管理故障轉(zhuǎn)移。
在這種情況下,為優(yōu)先級支付費用可能是必要的。如果你的云服務(wù)包括了地理多樣性以支持分布式的用戶群體,那么你自己的各種設(shè)施就可以為云廠商故障提供某些保護(hù)措施;仔細(xì)檢查你的合同以確保有足夠的容量來處理額外的負(fù)載。
網(wǎng)絡(luò)性能問題或缺少將導(dǎo)致云宕機(jī)事件
云計算故障的最常見原因通常并不是云計算,而是網(wǎng)絡(luò)。大部分的云應(yīng)用都是通過互聯(lián)網(wǎng)進(jìn)行訪問的,而互聯(lián)網(wǎng)可用性則是大多數(shù)云宕機(jī)事件的罪魁禍?zhǔn)?。解決這個問題的唯一方法就是采用虛擬私有網(wǎng)絡(luò)(VPN)或虛擬局域網(wǎng)服務(wù),或確保同時讓多個互聯(lián)網(wǎng)服務(wù)供應(yīng)商(ISP)提供服務(wù)以供網(wǎng)站訪問云應(yīng)用使用。如果安全性和合規(guī)性問題可以得到解決,并得到供應(yīng)商的合同確認(rèn),那么這是一個很不錯的選擇。除非云廠商已經(jīng)使用了運營商提供的VPN服務(wù),否則很可能需要你支付一筆特殊費用。
隨著小型企業(yè)的互聯(lián)網(wǎng)服務(wù)成本不斷下降,為一個分支辦公室提供兩個ISP就成為可能。但是,請確保在兩個辦公室之間沒有共同的故障點。通常,可在多個供應(yīng)商之間共享對等點和共享互連“酒店”。即使是ISP之間最普通的訪問布線,也有可能使雙網(wǎng)絡(luò)連接的好處落空。
必須解決云應(yīng)用的彈性問題
如果云計算數(shù)據(jù)中心和云計算網(wǎng)絡(luò)故障問題都已解決,那么下一個問題就是應(yīng)用程序本身的彈性問題了。管理高可用性和云服務(wù)的最大問題都涉及數(shù)據(jù)庫訪問和可靠的事務(wù)處理。
如果一個數(shù)據(jù)中心發(fā)生故障,即便另一個備用數(shù)據(jù)中心能夠備份使用這些數(shù)據(jù)的應(yīng)用程序,在數(shù)據(jù)中心中所存儲的數(shù)據(jù)都是不可用的。除非是在多個位置的“熱待機(jī)”狀態(tài)維護(hù)應(yīng)用程序數(shù)據(jù),否則一次故障都將導(dǎo)致數(shù)據(jù)訪問丟失,從而使其它冗余措施都大部分實效。這個問題同樣也存在于內(nèi)部數(shù)據(jù)中心備份,因此那些為他們自己數(shù)據(jù)中心提供冗余的企業(yè)會發(fā)現(xiàn)相同的措施在云計算中也會同樣有效。與其說這是個技術(shù)策略還不如說這是個金融策略;由于云計算存儲和服務(wù)費用的原因,在云計算中維護(hù)冗余數(shù)據(jù)的成本要更高。一個更好的解決方案是把你所有的內(nèi)部數(shù)據(jù)都布署在一個高可用性的受保護(hù)數(shù)據(jù)中心中,并從多個云計算位置進(jìn)行訪問。
最好的可用性管理必須是與應(yīng)用程序本身集成。任何時候,數(shù)據(jù)庫更新都是對多個副本同時進(jìn)行的,如果在更新過程中發(fā)生了故障,那么數(shù)據(jù)完整性就存在著丟失的風(fēng)險。聯(lián)機(jī)事務(wù)處理系統(tǒng)通常包括一個“兩階段提交”的過程以確保不會由于無法成功更新所有數(shù)據(jù)庫副本而發(fā)生問題。有時,單個數(shù)據(jù)庫的更新也會因為網(wǎng)絡(luò)故障而處于一個不確定的狀態(tài)。有必要審查專為確保網(wǎng)絡(luò)故障或數(shù)據(jù)中心故障而開發(fā)的應(yīng)用程序,從而確保所存儲的數(shù)據(jù)庫不會發(fā)生數(shù)據(jù)受損或不一致的風(fēng)險。
期望云應(yīng)用能夠具有比內(nèi)部應(yīng)用相同或更高的可靠性是不合理的。此外,你所設(shè)定的可靠性和特定目標(biāo)可能會讓你花費很多。當(dāng)構(gòu)建你的業(yè)務(wù)案例時,請記得考慮可靠性成本,或者你可能會發(fā)現(xiàn)你的應(yīng)用程序必須在可靠性和成本之間作出某種妥協(xié)。