最近幾個(gè)星期以來(lái),我們已經(jīng)陸續(xù)聽(tīng)到了不少關(guān)于數(shù)據(jù)中心中斷事故影響到一些具有較高知名度的美國(guó)企業(yè)的報(bào)道,包括華爾街日?qǐng)?bào)、紐約證券交易所和美國(guó)聯(lián)合航空公司在一周內(nèi)均受到不同程度的影響。盡管想要百分百的防止每一次停機(jī)中斷事件的發(fā)生是不可能的,但這些被媒體高度宣傳的問(wèn)題可能會(huì)花費(fèi)大量的資金成本,并會(huì)顯著影響到客戶如何看待一家企業(yè),進(jìn)而影響到企業(yè)形象和聲譽(yù)。為此,我們特地采訪了業(yè)界的專(zhuān)家們,向他們咨詢了一系列的問(wèn)題:包括企業(yè)應(yīng)該做些什么工作,以便能夠維持高水平的正常運(yùn)行時(shí)間?導(dǎo)致停機(jī)中斷的原因都包括了哪些常見(jiàn)的錯(cuò)誤?以及客戶對(duì)于數(shù)據(jù)中心的安全性和彈性的平均期望如何?或者說(shuō)偶爾的停機(jī)中斷事故是企業(yè)正常運(yùn)維的現(xiàn)實(shí)?
密爾沃基地區(qū)技術(shù)學(xué)院Brian Kirsch
可用性和其他一切之間的平衡是IT的基石之一。我們都希望我們的系統(tǒng)在我們需要時(shí)均能夠保持正常運(yùn)行,為我們所用。而當(dāng)您需要在系統(tǒng)的可用性與需要做哪些工作以獲得這種可用性之間進(jìn)行平衡時(shí),問(wèn)題就出現(xiàn)了。您所需關(guān)注的問(wèn)題不僅僅是簡(jiǎn)單的只是成本方面的問(wèn)題,其復(fù)雜性和測(cè)試才是促使一切協(xié)同工作的關(guān)鍵。僅僅由某一款單一的硬件或軟件產(chǎn)品就能夠提供可用能力的理念在今天已經(jīng)不存在了。雖然我們今天所使用的備份和災(zāi)難恢復(fù)產(chǎn)品已經(jīng)變得更加廣泛且有效,但相應(yīng)的應(yīng)用程序也已經(jīng)變得更加復(fù)雜了。
這種應(yīng)用程序及其可用性之間的不斷競(jìng)爭(zhēng),會(huì)在當(dāng)企業(yè)所使用的災(zāi)難恢復(fù)產(chǎn)品無(wú)法跟上的應(yīng)用程序的需求和設(shè)計(jì)時(shí),造成大范圍的停機(jī)中斷事故。
然而,硬件和軟件也僅僅只是停機(jī)中斷事故難題的一小部分。許多停機(jī)中斷的發(fā)生是由于系統(tǒng)故障和變化所造成的。我們通過(guò)設(shè)計(jì)以防止發(fā)生故障失。晃覀兊陌踩到y(tǒng)防止未經(jīng)授權(quán)的變化。然而,所有這一切在前端的努力都不能百分百的防止每一次停機(jī)中斷的發(fā)生。我們?nèi)砸e極探索和尋找處理災(zāi)難恢復(fù)和停機(jī)中斷的新方法。讓我們秉承著企業(yè)必將發(fā)生停機(jī)中斷,而不是試圖簡(jiǎn)單地阻止他們的理念來(lái)設(shè)計(jì)我們的系統(tǒng)。積極的面對(duì)故障和運(yùn)行失敗能夠給我們真正的應(yīng)用程序彈性,因?yàn)楣收媳Wo(hù)不再僅僅是表面的事情了。然后,我們可以測(cè)試并證明我們有能力處理故障失敗。
在這方面,沒(méi)有比Netflix及其Chaos Monkey工程團(tuán)隊(duì)更明顯的了。Netflix面臨大規(guī)模的亞馬遜EC2云重新啟動(dòng),同時(shí)還需要保持其在線服務(wù)的正常運(yùn)轉(zhuǎn)。對(duì)于許多公司來(lái)說(shuō),EC2云的重啟會(huì)為他們帶來(lái)一些他們認(rèn)為永遠(yuǎn)不會(huì)看到且很少有針對(duì)性的進(jìn)行計(jì)劃以防止出現(xiàn)停機(jī)中斷的東西。另一方面,Netflix及其獨(dú)特命名的Chaos Monkey工程團(tuán)隊(duì)則有一項(xiàng)計(jì)劃。在Netflix,Chaos Monkey的作用是定期反復(fù)針對(duì)故障失敗進(jìn)行測(cè)試鍛煉。通過(guò)不斷的測(cè)試、和在問(wèn)題造成大規(guī)模停機(jī)中斷事故之前對(duì)其進(jìn)行修正,Netflix公司已經(jīng)創(chuàng)建了一項(xiàng)專(zhuān)門(mén)處理故障運(yùn)行失敗的服務(wù)設(shè)計(jì),來(lái)確?捎眯浴
LogicNow公司戴夫·索貝爾
對(duì)于像紐約證券交易所、華爾街日?qǐng)?bào)和美國(guó)航空公司這樣的企業(yè)和機(jī)構(gòu)而言,出現(xiàn)任何形式的停機(jī)中斷事故幾乎都可以說(shuō)是一種恥辱。停機(jī)中斷事故所造成的成本損失可能是極其昂貴的,而鑒于計(jì)算資源又相對(duì)低廉,先進(jìn)的規(guī)劃則可以確保將停機(jī)中斷事故發(fā)生的幾率降低到最低限度。對(duì)于那些有關(guān)鍵需求的企業(yè)而言,他們現(xiàn)在可以很容易地在云中建立備份系統(tǒng),而且只有在緊急情況下使用。例如,微軟的Windows Azure,僅針對(duì)活躍計(jì)算負(fù)載收取費(fèi)用,這意味著整個(gè)備份網(wǎng)絡(luò)可以在冷待機(jī)等待處理問(wèn)題。熱備份也可以設(shè)置最小的使用水平,確保為故障轉(zhuǎn)移做好準(zhǔn)備。監(jiān)控和管理軟件則應(yīng)該始終被使用,繼續(xù)獲得更先進(jìn)的預(yù)測(cè)分析,以預(yù)測(cè)分析可能的停機(jī)事故。
但是,溝通是緩解停機(jī)中斷事故影響的最重要的部分。對(duì)于一名因美國(guó)聯(lián)合航空公司發(fā)生停機(jī)中斷事故而被滯留的乘客來(lái)說(shuō),最令人沮喪的無(wú)疑是缺乏透明有效的信息。企業(yè)不得主動(dòng)不承認(rèn)相關(guān)問(wèn)題,然后再根據(jù)承諾進(jìn)行交付。在社交媒體保持沉默和員工之間缺乏信息溝通可能是造成客戶服務(wù)體驗(yàn)最糟糕的原因之一。
Volanto公司吉姆·奧賴?yán)?/strong>
安全系統(tǒng)怎么會(huì)發(fā)生運(yùn)行失敗?這看起來(lái)似乎是一種矛盾,但對(duì)于美國(guó)聯(lián)合航空公司、紐約證券交易所和其他企業(yè)而言,最近都紛紛出現(xiàn)了狀況。他們的IT基礎(chǔ)設(shè)施到底有什么問(wèn)題?
不斷增強(qiáng)的復(fù)雜性肯定是問(wèn)題原因的一部分。通常,企業(yè)已經(jīng)有一些被修補(bǔ)和擴(kuò)展過(guò)多次的舊系統(tǒng)。這導(dǎo)致了硬件和軟件的漏洞。美國(guó)聯(lián)合航空公司的問(wèn)題則要?dú)w咎于一個(gè)路由器的運(yùn)行失敗,但這有引出了一個(gè)高度冗余的系統(tǒng)如何會(huì)有一個(gè)單點(diǎn)故障的問(wèn)題。
當(dāng)然,通信問(wèn)題并不是美國(guó)航空公司所獨(dú)有。云計(jì)算巨頭亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)在當(dāng)一款路由器的軟件被錯(cuò)誤的更新時(shí),也失去了幾個(gè)區(qū)。這樣的故障失敗往往是由糟糕的操作程序,缺乏制衡的配置或糟糕的安裝所造成的。
像AWS一樣,在混亂的紐約證券交易所發(fā)生停機(jī)中斷,起因于一個(gè)糟糕的軟件更新——在這種情況下,“匹配引擎”將連接買(mǎi)賣(mài)交易指令。
盡管硬件或軟件方面的原因已倍受指責(zé),但所有這些問(wèn)題的真正的罪魁禍?zhǔn)资侨藶殄e(cuò)誤。在高度進(jìn)化的系統(tǒng)中,故障是可以預(yù)料的,管理員必須進(jìn)行相應(yīng)的改變,以處理不同的平臺(tái)和應(yīng)用程序的方法。糟糕的網(wǎng)絡(luò)拓?fù)洌唇?jīng)測(cè)試的更新,更新被誤用都是可以避免的錯(cuò)誤,F(xiàn)在的問(wèn)題是如何避免它們,同時(shí)也不會(huì)產(chǎn)生其他惡果。
自動(dòng)化操作是解決更新問(wèn)題的答案。任何使用Windows的人都熟悉其升級(jí)方法。有時(shí)它是在后臺(tái)自動(dòng)進(jìn)行的,有時(shí)也需要用戶回答一些問(wèn)題,但大部分的工作和任何重新配置的新代碼都是由軟件處理的。
另一方面,Linux在最好的傳統(tǒng)命令行界面,通常需要系統(tǒng)管理員輸入驚人的速率來(lái)執(zhí)行更新。其腳本被認(rèn)為是最先進(jìn)的。不過(guò),腳本總是需要調(diào)整才能正常工作。
高水平的人工交互系統(tǒng)本身故障頻發(fā),AWS和紐約證券交易所的事件是典型的結(jié)果。聯(lián)合航空公司則有著不同的問(wèn)題。顯然是一個(gè)單一的故障點(diǎn)造成的。防止這種故障不是研究火箭般的高精尖科學(xué)。僅僅只需對(duì)路由結(jié)構(gòu)進(jìn)行人工審查應(yīng)該就能夠確定一個(gè)路由器可以使系統(tǒng)癱瘓的問(wèn)題的癥所在。坦白說(shuō),當(dāng)應(yīng)用程序套件的拓?fù)浣Y(jié)構(gòu)和底層平臺(tái)總是在不斷變化時(shí),人工檢查是不容易的。
一些軟件將能夠在系統(tǒng)中檢測(cè)問(wèn)題點(diǎn)時(shí)發(fā)揮其價(jià)值。企業(yè)傾向于通過(guò)連續(xù)性軟件解決配置問(wèn)題。大數(shù)據(jù)分析的方法可能會(huì)增加方法的復(fù)雜性。
即便如此,糟糕的應(yīng)用程序設(shè)計(jì),特別是彈性較小的傳統(tǒng)遺留系統(tǒng)仍然是一個(gè)問(wèn)題,將繼續(xù)困擾我們。解決這一類(lèi)問(wèn)題的答案是“沙箱測(cè)試”和“更嚴(yán)格的測(cè)試”。
無(wú)停機(jī)中斷故障的數(shù)據(jù)中心究竟是否能夠存在?答案是,我們距離實(shí)現(xiàn)這一理想還很遠(yuǎn),但我們可以做得更好。