11月5日凌晨,阿里技術上下完成雙11大考期間最后一次全鏈路壓測后休息和交接間隙……服務器連續遭遇了兩次攻擊。


第一次,凌晨兩點左右,監控大屏顯示四個地區數據中心數值迅速下跌,技術保障團隊啟動緊急響應處理,確定遭遇了斷網攻擊。


緊接著第二次,2:10,更兇猛直接的攻擊來了。華東區域某個數據中心,直接被拉閘斷了電……


但最令人震驚的是,這一切居然是阿里巴巴合伙人、雙11新零售技術負責人吳澤明(花名范禹)干的。


突然襲擊,實彈攻擊,這不是事先明確的一次突襲。


甚至只有范禹和霜波——阿里雙11技術大隊長、技術安全生產負責人陳琴“小范圍”知道。但是即便如此,陳琴看到這次斷網攻擊時還是嚇了一跳,因為與之前商定的攻擊量級并不符合。


阿里突遭斷網斷電:最大內幕終于曝光了!


當時,明面上壓測已經結束,參與的阿里技術工程師們,有的在進行夜宵補給,有的在工位上小憩休息,對于這次意料之外的實彈攻擊,沒有一點點防備。慶幸的是,技術保障上下訓練有序。迅速鎖定故障源頭,啟動應急方案,緊急展開修復……


僅1分28秒,一切如故。


甚至如果恰好有在那時下單的用戶,都難以察覺有過“抖動”。


對于阿里技術上下,雖然事出突然毫無防備,但對于這樣的突襲應對,已然肌肉記憶一樣……因為在阿里,這種突襲早已普遍而日常,還有專門因此形成的紅藍軍對抗。藍軍負責設計突襲彈藥,常在不經意間發起突襲。紅軍則需要在極短時間內修復故障。


對外,這種技術突襲和紅藍對抗一直不為人知。


對內,無數次突襲和演練之后,連故障恢復機制都形成了“1-5-10”的方法論,即在1分鐘內發出警報、5分鐘內定位故障、10分鐘內修復故障。這也是阿里敢將可用性目標提升到達99.9999%的底氣所在。


阿里突遭斷網斷電:最大內幕終于曝光了!


之所以能如此精確,就是因為一次次突襲演練之后得出的結果。阿里內部,還將這種紅藍軍的偷襲與防守,類比為對系統打疫苗。


故意在可控半徑內將故障注入系統以測試系統的響應,類似于將少量有害物質注入體內激發免疫反應以防止未來疾病。這似乎很瘋狂,但能讓公司提前為包括宕機在內的各種故障做好準備,將其影響降至最低。


甚至還有更瘋狂的舉動。阿里為這種突襲專門設計了App,簡化成一個“按鈕”,串聯了阿里巴巴經濟體的各種技術架構和業務手段。


方便隨時隨地,按下按鈕完成突襲。


它可能發生在任何時候,比如,某一次會議結束后所有人都處于放松狀態時。這次雙11前的突襲攻擊,就出現在范禹閑庭信步走出“光明頂”時——雙11核心作戰室內沒人察覺異常。


有內部工程師把這種偷襲演練與馬斯克SpaceX那次知名的“事故逃逸”演習類比。核心都是以真實可能發生的事故,來實際檢驗自身的技術和應急保障機制。


你聽過混沌工程嗎?


Chaos Engineering,混沌工程。


被稱為“故意破壞的藝術”,主要通過主動制造故障,測試系統在各種壓力下的行為,從而識別并修復故障問題,以此提高生產環境中系統的容錯性和可恢復性,最終實現系統彈性的提升。


在硅谷科技公司中,混沌工程已經有過實踐。


2010年,Netflix團隊開發出了Chaos Monkey——混沌猴子這個工具用于測試系統。


模擬一只討厭的猴子,在系統中隨機位置上蹦下竄,不停搗亂,直到搞掛你的系統。隨后的幾年里,Netflix還將混沌猴子在GitHub上開源分享,并指出這種隨機故障測試,對測試分布式系統的穩定性有傳統方式難以超越的優勢。


在這樣一整套原理基礎上,混沌工程師這樣的崗位開始在硅谷出現,角色和功能如這次阿里對外公開的藍軍,把這種隨機破壞性攻擊,變成一種日常測試手段來提升自身的抗災能力。


混沌工程是一種專門的理論,本質上是一種反脆弱的思想。


如果再往上追溯,哲學源頭可以找到尼采——殺不死我的必使我更強大。而對于阿里來說,混沌工程思想理念,與技術穩定體系需求不謀而合,與阿里異地多活、容災容錯的發展需求契合在一起。


實際上從2010年左右,阿里電商域開始嘗試故障注入測試的工作,開始的目標是想解決微服務架構帶來的強弱依賴問題。后來經過多個階段的改進,最終演進到MonkeyKing線上故障演練平臺。


作為阿里集團使用廣泛的混沌工程平臺,MonkeyKing不但幫助很多業務團隊進行故障演練,提升了業務穩定性,同時也支撐阿里集團內部定期的聯合演練活動。


2019年開始,還開始在小范圍生產環境內推進突襲演練,并對外開源了阿里巴巴混沌工程工具ChaosBlade。而這次雙11前夜的突然襲擊、斷網斷電,本質也是混沌工程的一次實踐。


即便雙11這樣的節點里,顯得異常驚險,但對于阿里來說,擁抱「混沌工程」,搞出「紅藍演練」,也是業務倒逼的結果。


被逼出來的阿里


阿里歷史上很多業務改革,都與雙11密切相關。比如「異地多活」,起初就是因為雙11很火,流量帶來擴容需求。


阿里集團CTO程立就回憶說,2009年第一次雙11,因為是淘寶商城臨時決定搞的活動,技術側還不太有感覺。


但2010年,雙11流量一下子漲了好幾倍,服務器根本不夠用……當時在支付寶的程立,親身經歷了把支付寶系統一再瘦身,只留下核心的支付鏈路,才總算扛過了那次交易洪峰。而其后對于每年迎來新紀錄流量洪峰挑戰的雙11,阿里開始在平時倒逼改革。


另外,也有一些意想不到的天災人禍,帶來容災警醒。


2013年夏天,因為杭州40°高溫酷暑,全城電力供應極度緊張,而阿里的服務器機房又是耗電大戶,拉閘限電的威脅迫在眉睫,一旦機房停電,業務就關門大吉了……


上述等等經歷,讓阿里技術意識到,不能再等到下一個高溫酷暑的夏天,不能再等到下一次天災教訓,再來思考如何保障業務穩定性。


也不能忽視地域中的物理災害,影響到線上數以億計的用戶。更不能因為基礎設施的限制,阻礙快速增長的業務。


所以先是解決同城多活的挑戰,其后又進一步解決異地多活的世界難題。


都是面對問題和挑戰,倒逼出來的創新。


實際上,這種倒逼出創新的案例,在阿里發展歷史上比比皆是,例如支付寶研發OceanBase,阿里云研發飛天云操作系統……當年為了支撐雙11的流量,支付寶一個不到100人的團隊,研發出可代替甲骨文數據庫的OceanBase數據庫。


今年,在去年雙11核心系統100%上云后,程立透露——阿里把全副身家性命放到云上,飛天云操作系統、神龍服務器集群、中臺等數字新基建還在不斷升級,技術的溝溝坎坎幾近解決,應對峰值不再是最大技術挑戰。


消費者的熱情越來越高,倒逼阿里技術持續進化。而混沌工程和突襲計劃,也是這種倒逼著進化的一部分。


互聯網本身就充滿了未知和不確定性,例如高溫、洪水、臺風、暴雨、地震、雷電等自然災害以及人為操作失誤等種種黑天鵝事件,都可能對業務造成嚴重打擊。阿里敢在雙11期間對業務系統發起各種高危故障,這種自信源自成熟的突襲機制,而底氣則來自阿里云十年來搭建的災備體系。。


Gartner就曾預測過,2020年,90%的容災操作會發生在云端。尤其是大型云服務商,數據中心都遍布全球,是企業天然的異地災備中心。


而阿里云的云災備能力無疑處于云廠商第一陣營。


阿里云曾率先在業內提出數據中心的“四個不”原則,即不在同一火山地震帶,不在同一水系,不在同一電網,不在同一運營商網絡出口。這是傳統企業所不具備的硬實力。


另一方面,阿里云的災備能力全面涵蓋了網絡、數據庫、存儲等領域,這是能應對各種故障的軟實力。


舉個栗子,在存儲領域,阿里云憑借存儲高可用等能力,持續三年入選Gartner全球云存儲魔力象限,并且被列為全球領導者地位。


所以只有兼具軟硬實力,才能最大程度地保障業務和數據穩定安全。這也是阿里敢把全副身家性命都放在云上的原因之一。甚至這種「最大程度保障」,還需要考慮到被斷網斷電的極端場景……


所以,拉閘斷電的攻擊成功了嗎?


11月5日凌晨02:10,阿里華東區域某一數據中心被內部拉閘斷電。瞬間,蓄電系統啟動……服務器供能無縫切換,未受一絲影響。


4秒鐘后,柴油發電機群啟動。電力完全恢復供應,數據中心運轉如常。


阿里云災備體系,至此交了滿分答卷。


文章來源: 木木西里科技

免責聲明

我來說幾句

不吐不快,我來說兩句
最新評論

還沒有人評論哦,搶沙發吧~