突遭斷網(wǎng)斷電!阿里雙11最驚險(xiǎn)一幕曝光...
2020 年 11 月 11 日晚,又一年天貓雙 11 狂歡接近尾聲。新交易紀(jì)錄、新流量峰值,一切都是十全十美的樣子。
圖片來(lái)自 Pexels
此時(shí),阿里巴巴 CTO 程立(魯肅)才將一段實(shí)錄視頻公之于眾:
11 月 5 日凌晨,阿里技術(shù)上下完成雙 11 大考期間最后一次全鏈路壓測(cè)后休息和交接間隙……服務(wù)器連續(xù)遭遇了兩次攻擊。
第一次,凌晨?jī)牲c(diǎn)左右,監(jiān)控大屏顯示四個(gè)地區(qū)數(shù)據(jù)中心數(shù)值迅速下跌,技術(shù)保障團(tuán)隊(duì)啟動(dòng)緊急響應(yīng)處理,確定遭遇了斷網(wǎng)攻擊。
緊接著第二次,2:10,更兇猛直接的攻擊來(lái)了。華東區(qū)域某個(gè)數(shù)據(jù)中心,直接被拉閘斷了電……
但最令人震驚的是,這一切居然是阿里巴巴合伙人、雙 11 新零售技術(shù)負(fù)責(zé)人吳澤明(花名范禹)干的。
突然襲擊,實(shí)彈攻擊
這不是事先明確的一次突襲。
甚至只有范禹和霜波——阿里雙 11 技術(shù)大隊(duì)長(zhǎng)、技術(shù)安全生產(chǎn)負(fù)責(zé)人陳琴“小范圍”知道。
但是即便如此,陳琴看到這次斷網(wǎng)攻擊時(shí)還是嚇了一跳,因?yàn)榕c之前商定的攻擊量級(jí)并不符合。
當(dāng)時(shí),明面上壓測(cè)已經(jīng)結(jié)束,參與的阿里技術(shù)工程師們,有的在進(jìn)行夜宵補(bǔ)給,有的在工位上小憩休息,對(duì)于這次意料之外的實(shí)彈攻擊,沒(méi)有一點(diǎn)點(diǎn)防備。
慶幸的是,技術(shù)保障上下訓(xùn)練有序。迅速鎖定故障源頭,啟動(dòng)應(yīng)急方案,緊急展開(kāi)修復(fù)……
僅 1 分 28 秒,一切如故。
甚至如果恰好有在那時(shí)下單的用戶,都難以察覺(jué)有過(guò)“抖動(dòng)”。
對(duì)于阿里技術(shù)上下,雖然事出突然毫無(wú)防備,但對(duì)于這樣的突襲應(yīng)對(duì),已然肌肉記憶一樣……因?yàn)樵诎⒗铮@種突襲早已普遍而日常,還有專門因此形成的紅藍(lán)軍對(duì)抗。
藍(lán)軍負(fù)責(zé)設(shè)計(jì)突襲彈藥,常在不經(jīng)意間發(fā)起突襲。紅軍則需要在極短時(shí)間內(nèi)修復(fù)故障。
對(duì)外,這種技術(shù)突襲和紅藍(lán)對(duì)抗一直不為人知。
對(duì)內(nèi),無(wú)數(shù)次突襲和演練之后,連故障恢復(fù)機(jī)制都形成了“1-5-10”的方法論,即在 1 分鐘內(nèi)發(fā)出警報(bào)、5 分鐘內(nèi)定位故障、10 分鐘內(nèi)修復(fù)故障。
這也是阿里敢將可用性目標(biāo)提升到達(dá) 99.9999% 的底氣所在。之所以能如此精確,就是因?yàn)橐淮未瓮灰u演練之后得出的結(jié)果。
阿里內(nèi)部,還將這種紅藍(lán)軍的偷襲與防守,類比為對(duì)系統(tǒng)打疫苗。
故意在可控半徑內(nèi)將故障注入系統(tǒng)以測(cè)試系統(tǒng)的響應(yīng),類似于將少量有害物質(zhì)注入體內(nèi)激發(fā)免疫反應(yīng)以防止未來(lái)疾病。
這似乎很瘋狂,但能讓公司提前為包括宕機(jī)在內(nèi)的各種故障做好準(zhǔn)備,將其影響降至最低。
甚至還有更瘋狂的舉動(dòng)。阿里為這種突襲專門設(shè)計(jì)了 App,簡(jiǎn)化成一個(gè)“按鈕”,串聯(lián)了阿里巴巴經(jīng)濟(jì)體的各種技術(shù)架構(gòu)和業(yè)務(wù)手段。
方便隨時(shí)隨地,按下按鈕完成突襲。
它可能發(fā)生在任何時(shí)候,比如,某一次會(huì)議結(jié)束后所有人都處于放松狀態(tài)時(shí)。
這次雙 11 前的突襲攻擊,就出現(xiàn)在范禹閑庭信步走出“光明頂”時(shí)——雙 11 核心作戰(zhàn)室內(nèi)沒(méi)人察覺(jué)異常。
有內(nèi)部工程師把這種偷襲演練與馬斯克 SpaceX 那次知名的“事故逃逸”演習(xí)類比。
核心都是以真實(shí)可能發(fā)生的事故,來(lái)實(shí)際檢驗(yàn)自身的技術(shù)和應(yīng)急保障機(jī)制。
你聽(tīng)過(guò)混沌工程嗎?
Chaos Engineering,混沌工程。
被稱為“故意破壞的藝術(shù)”,主要通過(guò)主動(dòng)制造故障,測(cè)試系統(tǒng)在各種壓力下的行為,從而識(shí)別并修復(fù)故障問(wèn)題,以此提高生產(chǎn)環(huán)境中系統(tǒng)的容錯(cuò)性和可恢復(fù)性,最終實(shí)現(xiàn)系統(tǒng)彈性的提升。
在硅谷科技公司中,混沌工程已經(jīng)有過(guò)實(shí)踐。
2010 年,Netflix 團(tuán)隊(duì)開(kāi)發(fā)出了 Chaos Monkey——混沌猴子這個(gè)工具用于測(cè)試系統(tǒng)。
模擬一只討厭的猴子,在系統(tǒng)中隨機(jī)位置上蹦下竄,不停搗亂,直到搞掛你的系統(tǒng)。
隨后的幾年里,Netflix 還將混沌猴子在 GitHub 上開(kāi)源分享,并指出這種隨機(jī)故障測(cè)試,對(duì)測(cè)試分布式系統(tǒng)的穩(wěn)定性有傳統(tǒng)方式難以超越的優(yōu)勢(shì)。
在這樣一整套原理基礎(chǔ)上,混沌工程師這樣的崗位開(kāi)始在硅谷出現(xiàn),角色和功能如這次阿里對(duì)外公開(kāi)的藍(lán)軍,把這種隨機(jī)破壞性攻擊,變成一種日常測(cè)試手段來(lái)提升自身的抗災(zāi)能力。
混沌工程是一種專門的理論,本質(zhì)上是一種反脆弱的思想。
如果再往上追溯,哲學(xué)源頭可以找到尼采——殺不死我的必使我更強(qiáng)大。
而對(duì)于阿里來(lái)說(shuō),混沌工程思想理念,與技術(shù)穩(wěn)定體系需求不謀而合,與阿里異地多活、容災(zāi)容錯(cuò)的發(fā)展需求契合在一起。
實(shí)際上從 2010 年左右,阿里電商域開(kāi)始嘗試故障注入測(cè)試的工作,開(kāi)始的目標(biāo)是想解決微服務(wù)架構(gòu)帶來(lái)的強(qiáng)弱依賴問(wèn)題。
后來(lái)經(jīng)過(guò)多個(gè)階段的改進(jìn),最終演進(jìn)到 MonkeyKing 線上故障演練平臺(tái)。
作為阿里集團(tuán)使用廣泛的混沌工程平臺(tái),MonkeyKing 不但幫助很多業(yè)務(wù)團(tuán)隊(duì)進(jìn)行故障演練,提升了業(yè)務(wù)穩(wěn)定性,同時(shí)也支撐阿里集團(tuán)內(nèi)部定期的聯(lián)合演練活動(dòng)。
2019 年開(kāi)始,還開(kāi)始在小范圍生產(chǎn)環(huán)境內(nèi)推進(jìn)突襲演練,并對(duì)外開(kāi)源了阿里巴巴混沌工程工具 ChaosBlade。
而這次雙 11 前夜的突然襲擊、斷網(wǎng)斷電,本質(zhì)也是混沌工程的一次實(shí)踐。
即便雙 11 這樣的節(jié)點(diǎn)里,顯得異常驚險(xiǎn),但對(duì)于阿里來(lái)說(shuō),擁抱「混沌工程」,搞出「紅藍(lán)演練」,也是業(yè)務(wù)倒逼的結(jié)果。
被逼出來(lái)的阿里
阿里歷史上很多業(yè)務(wù)改革,都與雙 11 密切相關(guān)。
比如「異地多活」,起初就是因?yàn)殡p 11 很火,流量帶來(lái)擴(kuò)容需求。
阿里集團(tuán) CTO 程立就回憶說(shuō),2009 年第一次雙 11,因?yàn)槭翘詫毶坛桥R時(shí)決定搞的活動(dòng),技術(shù)側(cè)還不太有感覺(jué)。
但 2010 年,雙 11 流量一下子漲了好幾倍,服務(wù)器根本不夠用……當(dāng)時(shí)在支付寶的程立,親身經(jīng)歷了把支付寶系統(tǒng)一再瘦身,只留下核心的支付鏈路,才總算扛過(guò)了那次交易洪峰。
而其后對(duì)于每年迎來(lái)新紀(jì)錄流量洪峰挑戰(zhàn)的雙 11,阿里開(kāi)始在平時(shí)倒逼改革。
另外,也有一些意想不到的天災(zāi)人禍,帶來(lái)容災(zāi)警醒。
2013 年夏天,因?yàn)楹贾?40° 高溫酷暑,全城電力供應(yīng)極度緊張,而阿里的服務(wù)器機(jī)房又是耗電大戶,拉閘限電的威脅迫在眉睫,一旦機(jī)房停電,業(yè)務(wù)就關(guān)門大吉了……
上述等等經(jīng)歷,讓阿里技術(shù)意識(shí)到,不能再等到下一個(gè)高溫酷暑的夏天,不能再等到下一次天災(zāi)教訓(xùn),再來(lái)思考如何保障業(yè)務(wù)穩(wěn)定性。
也不能忽視地域中的物理災(zāi)害,影響到線上數(shù)以億計(jì)的用戶。更不能因?yàn)榛A(chǔ)設(shè)施的限制,阻礙快速增長(zhǎng)的業(yè)務(wù)。
所以先是解決同城多活的挑戰(zhàn),其后又進(jìn)一步解決異地多活的世界難題。
都是面對(duì)問(wèn)題和挑戰(zhàn),倒逼出來(lái)的創(chuàng)新。
實(shí)際上,這種倒逼出創(chuàng)新的案例,在阿里發(fā)展歷史上比比皆是,例如支付寶研發(fā) OceanBase,阿里云研發(fā)飛天云操作系統(tǒng)……
當(dāng)年為了支撐雙 11 的流量,支付寶一個(gè)不到 100 人的團(tuán)隊(duì),研發(fā)出可代替甲骨文數(shù)據(jù)庫(kù)的 OceanBase 數(shù)據(jù)庫(kù)。
今年,在去年雙 11 核心系統(tǒng) 100% 上云后,程立透露——阿里把全副身家性命放到云上,飛天云操作系統(tǒng)、神龍服務(wù)器集群、中臺(tái)等數(shù)字新基建還在不斷升級(jí),技術(shù)的溝溝坎坎幾近解決,應(yīng)對(duì)峰值不再是最大技術(shù)挑戰(zhàn)。
消費(fèi)者的熱情越來(lái)越高,倒逼阿里技術(shù)持續(xù)進(jìn)化。而混沌工程和突襲計(jì)劃,也是這種倒逼著進(jìn)化的一部分。
互聯(lián)網(wǎng)本身就充滿了未知和不確定性,例如高溫、洪水、臺(tái)風(fēng)、暴雨、地震、雷電等自然災(zāi)害以及人為操作失誤等種種黑天鵝事件,都可能對(duì)業(yè)務(wù)造成嚴(yán)重打擊。
阿里敢在雙 11 期間對(duì)業(yè)務(wù)系統(tǒng)發(fā)起各種高危故障,這種自信源自成熟的突襲機(jī)制,而底氣則來(lái)自阿里云十年來(lái)搭建的災(zāi)備體系。
Gartner 就曾預(yù)測(cè)過(guò),2020 年,90% 的容災(zāi)操作會(huì)發(fā)生在云端。尤其是大型云服務(wù)商,數(shù)據(jù)中心都遍布全球,是企業(yè)天然的異地災(zāi)備中心。
而阿里云的云災(zāi)備能力無(wú)疑處于云廠商第一陣營(yíng)。
阿里云曾率先在業(yè)內(nèi)提出數(shù)據(jù)中心的“四個(gè)不”原則,即不在同一火山地震帶,不在同一水系,不在同一電網(wǎng),不在同一運(yùn)營(yíng)商網(wǎng)絡(luò)出口。這是傳統(tǒng)企業(yè)所不具備的硬實(shí)力。
另一方面,阿里云的災(zāi)備能力全面涵蓋了網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、存儲(chǔ)等領(lǐng)域,這是能應(yīng)對(duì)各種故障的軟實(shí)力。
舉個(gè)栗子,在存儲(chǔ)領(lǐng)域,阿里云憑借存儲(chǔ)高可用等能力,持續(xù)三年入選 Gartner 全球云存儲(chǔ)魔力象限,并且被列為全球領(lǐng)導(dǎo)者地位。
所以只有兼具軟硬實(shí)力,才能最大程度地保障業(yè)務(wù)和數(shù)據(jù)穩(wěn)定安全。這也是阿里敢把全副身家性命都放在云上的原因之一。
甚至這種「最大程度保障」,還需要考慮到被斷網(wǎng)斷電的極端場(chǎng)景……
所以,拉閘斷電的攻擊成功了嗎?
11 月 5 日凌晨 02:10,阿里華東區(qū)域某一數(shù)據(jù)中心被內(nèi)部拉閘斷電。
瞬間,蓄電系統(tǒng)啟動(dòng)……服務(wù)器供能無(wú)縫切換,未受一絲影響。
4 秒鐘后,柴油發(fā)電機(jī)群?jiǎn)?dòng)。電力完全恢復(fù)供應(yīng),數(shù)據(jù)中心運(yùn)轉(zhuǎn)如常。
阿里云災(zāi)備體系,至此交了滿分答卷。
混沌工程 ChaosBlade 項(xiàng)目地址:
- https://github.com/chaosblade-io/chaosblade
作者:雷剛
編輯:陶家龍
出處:轉(zhuǎn)載自公眾號(hào)量子位(ID:QbitAI)


































