-
那些年,云廠(chǎng)商宕機(jī)教會(huì)我們的事
關(guān)鍵字: 阿里云本文來(lái)自微信公眾號(hào):InfoQ(infoqchina),編輯:小智,題圖來(lái)自:pixabay.com。
北京時(shí)間 6 月 27 日下午,阿里云掛了。市場(chǎng)占有率 47.6% 的阿里云宕機(jī),影響的是中國(guó)互聯(lián)網(wǎng)的半壁江山。對(duì)此,坊間傳聞伴著吐槽聲起伏不斷,甚至有人聲稱(chēng)此次事故是由兩個(gè)實(shí)習(xí)生造成。
事件發(fā)生后,阿里云在迅速人肉修復(fù)故障后,發(fā)表說(shuō)明:
“對(duì)于這次故障,沒(méi)有借口,我們不能也不該出現(xiàn)這樣的失誤!我們將認(rèn)真復(fù)盤(pán)改進(jìn)自動(dòng)化運(yùn)維技術(shù)和發(fā)布驗(yàn)證流程,敬畏每一行代碼,敬畏每一份托付?!?
云廠(chǎng)商宕機(jī)故障,這些年一直不是什么新聞
2017 年 2 月 28 日,云計(jì)算巨頭 AWS S3 故障,事件的起因是 AWS S3(云存儲(chǔ))團(tuán)隊(duì)在進(jìn)行調(diào)試時(shí)輸入了一條錯(cuò)誤指令,本應(yīng)該將少部分的 S3 計(jì)費(fèi)流程服務(wù)器移除,可是最終意外移除了大量服務(wù)器。被錯(cuò)誤移除的服務(wù)其中運(yùn)行著兩套 S3 的子系統(tǒng),從而導(dǎo)致 S3 不能正常工作,S3 API 處于不可用狀態(tài)。
由于 S3 負(fù)責(zé)存儲(chǔ)文件,為 AWS 體系中的核心組成部分,這導(dǎo)致北弗吉尼亞日(美國(guó)東一)服務(wù)區(qū)中,依賴(lài)于 S3 存儲(chǔ)服務(wù)的其他 AWS 的 S3 控制臺(tái)、Amazon 彈性計(jì)算云(簡(jiǎn)稱(chēng) EC2)新實(shí)例啟動(dòng)、Amazon 彈性塊存儲(chǔ)(簡(jiǎn)稱(chēng) EBS)分卷(限于需要讀取 S3 快照的數(shù)據(jù))以及 AWS Lambda 均受到影響。
2017 年 3 月 22 日,微軟云服務(wù)宕機(jī)。Outlook、 Hotmail、 OneDrive、 Skype 和 Xbox Live 都出現(xiàn)了網(wǎng)絡(luò)故障,全球用戶(hù)都無(wú)法登陸。英國(guó)海岸和美國(guó)海岸城市的 Outlook 郵箱系統(tǒng)的用戶(hù)受到的影響特別嚴(yán)重,同樣悲慘的還有西歐與美國(guó)海岸線(xiàn)的美國(guó) OneDrive 用戶(hù),西歐和巴西的 Skype 用戶(hù),及 Xbox 的英國(guó)、美國(guó)、西歐用戶(hù)。Azure 用戶(hù)的一天也不好過(guò),一大批工程師無(wú)法登陸系統(tǒng)。這不是微軟最近第一次出現(xiàn)這種問(wèn)題,上次是 3 月 7 日。
2015 年 6 月 6 日,QingCloud 廣東 1 區(qū)全部硬件設(shè)備因遭遇雷暴天氣引發(fā)電力故障,造成 QingCloud 官網(wǎng)及控制臺(tái)短時(shí)無(wú)法訪(fǎng)問(wèn)、部署于 GD1 的用戶(hù)業(yè)務(wù)暫時(shí)不可用。在業(yè)務(wù)恢復(fù)后,青云方面披露了合作運(yùn)營(yíng)商針對(duì)事故的調(diào)查原因:
直擊雷導(dǎo)致電力系統(tǒng)出現(xiàn)瞬時(shí)浪涌,UPS 啟動(dòng)自我保護(hù),從而釋放電流導(dǎo)致瞬間斷電;
雖然機(jī)房配備了四級(jí)防雷,但主要是防止感應(yīng)雷,對(duì)于此次直擊雷,機(jī)房完全沒(méi)有招架之力。
2014 年 11 月 2 日,騰訊云服務(wù)器出現(xiàn)了六分鐘的訪(fǎng)問(wèn)故障。騰訊云平臺(tái)部方面表示,此次訪(fǎng)問(wèn)故障主要是上海和廣州機(jī)房的服務(wù)器出現(xiàn)故障,機(jī)房網(wǎng)絡(luò)出口抖動(dòng)造成的,而網(wǎng)絡(luò)抖動(dòng)是源于運(yùn)營(yíng)商網(wǎng)絡(luò)信道阻塞,導(dǎo)致用戶(hù)連接服務(wù)器出現(xiàn)丟包等現(xiàn)象?!斑@是網(wǎng)絡(luò)上游的問(wèn)題,并非機(jī)房本身硬件故障,所以無(wú)法避免該情況的發(fā)生。”云平臺(tái)部方面負(fù)責(zé)人如是說(shuō)。
對(duì)于吃瓜群眾們來(lái)說(shuō),看完熱鬧了,要看會(huì)什么門(mén)道呢?
縱觀以上云廠(chǎng)商宕機(jī)案例,有的是天災(zāi)(機(jī)房被雷劈了),有的是人禍(誤刪除操作),但可以肯定的是:宕機(jī)這事兒,預(yù)計(jì)在很長(zhǎng)的一段時(shí)間里都無(wú)法避免。
以 AWS S3 故障為例。InfoQ 整合了三位技術(shù)專(zhuān)家陳皓、陳天、Nick Kephart 給出的思考整理如下:
1、要注意Error Handling
當(dāng)問(wèn)題出現(xiàn)時(shí),一個(gè)普通的 S3 GET 返回什么:
所以AWS 告訴你Internal Error 了。
從 error handling 的角度,陳天認(rèn)為在寫(xiě)代碼的時(shí)候都應(yīng)該捕捉這個(gè)異常,然后做合適的錯(cuò)誤處理。很遺憾的是,S3 這樣的服務(wù)是如此基礎(chǔ),就像互聯(lián)網(wǎng)的水和電一樣,大家默認(rèn)為它永遠(yuǎn)不會(huì)出錯(cuò)。因此,好多工程師干脆不做錯(cuò)誤處理。
除了代碼編寫(xiě)層面的處理,當(dāng)云服務(wù)商的宕機(jī)發(fā)生時(shí),盡量控制它影響面。像 Trello連 landing page 都一并掛掉實(shí)在不可取,因?yàn)槠鸫a S3 影響不到的頁(yè)面,如 landing page、用戶(hù)注冊(cè) / 登錄頁(yè)面應(yīng)該還保持正常服務(wù);而像 Quora的服務(wù),其實(shí)是可以準(zhǔn)備一個(gè)靜態(tài)化的鏡像,一旦出問(wèn)題,起碼讓讀者可以無(wú)障礙地閱讀。
2、盡可能地把動(dòng)態(tài)內(nèi)容緩存起來(lái),甚至靜態(tài)化
Redis cache、Nginx cache、HAProxy、CDN 都是把內(nèi)容緩存甚至靜態(tài)化的一些手段。陳天認(rèn)為:盡管多級(jí)緩存維護(hù)起來(lái)是個(gè)麻煩,但當(dāng)?shù)讓臃?wù)出現(xiàn)問(wèn)題時(shí),它們就是難得的戰(zhàn)略緩沖區(qū)。cache 為你爭(zhēng)取到的半個(gè)小時(shí)到幾個(gè)小時(shí)幾乎是續(xù)命的靈芝,它能幫你撐過(guò)最艱難的時(shí)刻(這次 S3 宕機(jī)前后大概 4 小時(shí),最嚴(yán)重的時(shí)候是 11點(diǎn)到1點(diǎn)),相對(duì)從容地尋找解決方案,緊急發(fā)布新的頁(yè)面,或者遷移服務(wù),把損失降到最低。
否則,只能像這次事件中的諸多公司一樣,聽(tīng)天由命,雙手合十祈禱 AWS 的工程師給力些解決問(wèn)題。
3、云用戶(hù)應(yīng)檢查核心依賴(lài)關(guān)系,提升關(guān)鍵性服務(wù)的冗余水平
S3是多種Amazon服務(wù)的核心組成部分之一。無(wú)論是利用其進(jìn)行簡(jiǎn)單文件存儲(chǔ)、對(duì)象存儲(chǔ)抑或是用于存儲(chǔ)網(wǎng)站或者應(yīng)用程序中的內(nèi)容,其間復(fù)雜的依賴(lài)性都會(huì)引發(fā)級(jí)聯(lián)效應(yīng)。S3能影響到的組件包括用戶(hù)會(huì)話(huà)管理、媒體存儲(chǔ)、內(nèi)容存儲(chǔ)、用戶(hù)數(shù)據(jù)、第三方對(duì)象和自動(dòng)化機(jī)制等。
在Thousandeyes公司的Nick Kephart看來(lái),云用戶(hù)應(yīng)檢查核心依賴(lài)關(guān)系,提升關(guān)鍵性服務(wù)的冗余水平。AWS的系統(tǒng)在構(gòu)建當(dāng)中具備冗余特性,能夠?qū)崿F(xiàn)跨數(shù)據(jù)中心自動(dòng)復(fù)制存儲(chǔ)對(duì)象與文件。而作為另一種冗余層,云用戶(hù)需要利用額外AWS服務(wù)區(qū)或者其它云服務(wù)供應(yīng)商以徹底避免此類(lèi)事故;不過(guò)這會(huì)增加大量管理復(fù)雜性與成本支出,因?yàn)榭绛h(huán)境間的數(shù)據(jù)同步工作需要由云用戶(hù)負(fù)責(zé)打理。大多數(shù)企業(yè)并沒(méi)有選擇上述選項(xiàng),可是單純的數(shù)據(jù)備份在數(shù)小時(shí)的短周期內(nèi)并不能發(fā)揮作用。
雖然面向云環(huán)境的遷移確實(shí)能夠在穩(wěn)定性與彈性方面為企業(yè)帶來(lái)巨大幫助,但是各種不易被發(fā)現(xiàn)的依賴(lài)性也因此增加,單一服務(wù)失敗可能引發(fā)大規(guī)模服務(wù)癱瘓。Nick建議云用戶(hù)的開(kāi)發(fā)與運(yùn)營(yíng)團(tuán)隊(duì)審查與云服務(wù)供應(yīng)商間的核心依賴(lài)關(guān)系,制定策略以監(jiān)控各項(xiàng)服務(wù)可能受到的影響,同時(shí)調(diào)整現(xiàn)有架構(gòu)以提升關(guān)鍵性用戶(hù)的冗余水平。
4、故障演習(xí)很重要
對(duì)于這次事件,陳皓在其博客中表示美國(guó)東一區(qū)作為老牌的服務(wù)區(qū)擁有海量對(duì)象,能在數(shù)小時(shí)恢復(fù)已屬不易,并且幸運(yùn)的是沒(méi)有丟失重要數(shù)據(jù)。
陳皓重申了其觀點(diǎn):一個(gè)系統(tǒng)的高可用的因素很多,不僅僅只是系統(tǒng)架構(gòu),更重要的是——高可用運(yùn)維。并且,他認(rèn)為對(duì)于高可用的運(yùn)維,平時(shí)的故障演習(xí)是很重要的。AWS 平時(shí)應(yīng)該沒(méi)有相應(yīng)的故障演習(xí),所以導(dǎo)致要么長(zhǎng)期不出故障,一出就出個(gè)大的讓你措手不及。
比如,F(xiàn)acebook每個(gè)季度扔個(gè)骰子,隨機(jī)關(guān)掉一個(gè)IDC一天。Netflix 有 Chaos Monkey,路透每年也會(huì)做一次大規(guī)模的故障演練——災(zāi)難演習(xí)。
在陳天看來(lái),這種容錯(cuò)的操練適合大一些且工程團(tuán)隊(duì)有余力的公司。為什么Netflix 重度使用 AWS,卻在歷次 AWS 的宕機(jī)中毫發(fā)無(wú)損?其實(shí)Netflix之前也深深地被云的「不穩(wěn)定性」刺痛過(guò),而如今他們的 Chaos Monkey(之后發(fā)展為 simian army)服務(wù),會(huì)隨時(shí)隨地模擬各種宕機(jī)情況,擾亂生產(chǎn)環(huán)境。比如說(shuō)對(duì)于此次事件的演練,可以配置 simian army 去擾亂 S3:simianarmy.chaos.fails3.enabled = true。
這樣,這群討厭的猴子就會(huì)在不知情的情況下隨機(jī)把服務(wù)器的 /etc/hosts 改掉,讓所有的 S3 API 不可用。如此就可以體驗(yàn)平時(shí)很難遇到的 S3 不可訪(fǎng)問(wèn)的場(chǎng)景,進(jìn)而找到相應(yīng)的對(duì)策(注意:請(qǐng)?jiān)?staging 環(huán)境下謹(jǐn)慎嘗試)。
5、處理危機(jī)的方式能看出一個(gè)公司的高度
陳皓表示非常喜歡GitLab、AWS這樣向大眾公開(kāi)其故障及處理流程,哪怕起因是一個(gè)低級(jí)的人為錯(cuò)誤,也不會(huì)掩蓋、不會(huì)文過(guò)飾非。
如果你是一個(gè)技術(shù)公司,你就會(huì)更多的相信技術(shù)而不是管理。相信技術(shù)會(huì)用技術(shù)來(lái)解決問(wèn)題,相信管理,那就只會(huì)有制度、流程和價(jià)值觀來(lái)解決問(wèn)題。沒(méi)有人愿意看到問(wèn)題的發(fā)生;但是問(wèn)題出現(xiàn)后,最重要的解決反思并從中汲取教訓(xùn):這難道不是技術(shù)人應(yīng)有的傲骨嗎?
你覺(jué)得呢?
標(biāo)簽 云計(jì)算- 原標(biāo)題:那些年,云廠(chǎng)商宕機(jī)教會(huì)我們的事
- 責(zé)任編輯:謝珊珊
- 最后更新: 2018-06-29 10:44:52
-
我們專(zhuān)訪(fǎng)了沃爾沃集團(tuán)大佬,看了下鉆地 1000 多米的無(wú)人駕駛卡車(chē)
2018-06-29 09:34 -
在追了很多時(shí)髦概念后,人人網(wǎng)成了二手車(chē)交易公司
2018-06-29 09:20 -
第三方Facebook應(yīng)用存在重大漏洞,或涉及1.2億用戶(hù)的信息安全
2018-06-29 09:16 -
投資200億耗時(shí)21年,美國(guó)造出第一塊核廢料玻璃
2018-06-29 08:26 科技前沿 -
“現(xiàn)在狀況是,設(shè)備做再好,似乎也不如發(fā)表論文更實(shí)際”
2018-06-29 07:44 科技前沿 -
機(jī)構(gòu)稱(chēng)陌陌將縮水30%-50% 陌陌:包含大量錯(cuò)誤
2018-06-28 21:28 -
非洲創(chuàng)業(yè)者求學(xué)阿里巴巴:中國(guó)真誠(chéng)希望非洲成長(zhǎng)
2018-06-28 20:44 -
BYD比亞迪打入蘋(píng)果充電器供應(yīng)鏈
2018-06-28 20:43 -
美團(tuán)點(diǎn)評(píng)上市:三個(gè)財(cái)務(wù)高手的一臺(tái)戲
2018-06-28 20:21 -
首個(gè)中國(guó)自主研發(fā)抗癌藥將上市 可治轉(zhuǎn)移性腸癌
2018-06-28 19:08 科技前沿 -
QQ瀏覽器回應(yīng)致Vivo新機(jī)攝像頭升降:確認(rèn)存在
2018-06-28 18:37 -
視頻:火箭殘骸墜落貴州發(fā)生爆炸
2018-06-28 17:00 航空航天 -
拼多多下周要赴美上市?黃崢回應(yīng)稱(chēng):不予置評(píng)
2018-06-28 16:53 -
網(wǎng)易考拉“死磕”中消協(xié) 丁磊電商夢(mèng)先拿裁判員祭旗?
2018-06-28 11:07 -
摩拜和ofo都在巴黎投放了共享單車(chē),實(shí)際情況令人大跌眼鏡
2018-06-28 11:04 -
估值200億美元,為了沖刺IPO,快手到底做了什么?
2018-06-28 10:30 -
國(guó)資委批準(zhǔn)烽火大唐正式合并 中國(guó)信科集團(tuán)奔向5G時(shí)代
2018-06-28 10:24 -
從學(xué)霸到億萬(wàn)富豪 解密小米六高管千萬(wàn)身家創(chuàng)富路徑
2018-06-28 10:18 -
齊家網(wǎng)赴港上市:連虧三年負(fù)債飆升 燒錢(qián)能燒出未來(lái)?
2018-06-28 10:13 -
空調(diào)侵權(quán)訴訟頻發(fā) 美的格力奧克斯貼身肉搏為哪般?
2018-06-28 10:08
相關(guān)推薦 -
“閉嘴、說(shuō)謝謝”,馬斯克和魯比奧聯(lián)手欺凌美關(guān)鍵盟友 評(píng)論 150羅馬尼亞將重選總統(tǒng),首輪第一的“極右”候選人被禁 評(píng)論 174全國(guó)政協(xié)十四屆三次會(huì)議閉幕 評(píng)論 0最新聞 Hot
-
“我想與中國(guó)合作,搭上勢(shì)不可擋的電車(chē)?yán)顺薄?/a>
-
“閉嘴、說(shuō)謝謝”,馬斯克和魯比奧聯(lián)手欺凌美關(guān)鍵盟友
-
甄子丹當(dāng)眾回懟臺(tái)媒:你這個(gè)人很壞
-
所有員工收到通知:自愿離職最多能拿2.5萬(wàn)美元
-
周思成怒斥文都教育造黃謠,將起訴
-
美國(guó)一醫(yī)療直升機(jī)墜毀,機(jī)上3人全部遇難
-
“國(guó)際刑警組織對(duì)杜特爾特發(fā)紅色通緝令”
-
特朗普被潑冷水:美國(guó)造船能力不及中國(guó)1/200
-
“五眼聯(lián)盟”要變“四眼”?
-
“難道要去白宮排隊(duì)給惡霸拍馬屁?這只會(huì)更受欺凌”
-
歐洲多國(guó)驚覺(jué):被美國(guó)掌握一個(gè)“致命開(kāi)關(guān)”
-
對(duì)歐洲“感到憤怒”,“特朗普想把駐德美軍全撤走”
-
萬(wàn)斯:親烏抗議者當(dāng)街騷擾,嚇到3歲女兒
-
紐約發(fā)生多起山火,紐約州進(jìn)入緊急狀態(tài)
-
特朗普威脅“不談就打”,伊朗最高領(lǐng)袖表態(tài)
-
“烏克蘭半瞎了,歐洲急了”
快訊- 新車(chē)看點(diǎn) | 中英雙軌運(yùn)作 吉利銀河翼真L380上市
- 特朗普撤銷(xiāo)拜登獲取每日簡(jiǎn)報(bào)權(quán)限
- 經(jīng)銷(xiāo)商“跑路潮”,為何林肯還在開(kāi)新店?
- 美國(guó)一醫(yī)療直升機(jī)墜毀,機(jī)上3人全部遇難
- 3月11日兩會(huì)日程:十四屆全國(guó)人大三次會(huì)議閉幕
- 美國(guó)中東問(wèn)題特使將訪(fǎng)俄并與普京會(huì)面
- “護(hù)駕有功”,肖恩·柯倫被特朗普任命為美特勤局局長(zhǎng)
- 聯(lián)合國(guó)婦女地位委員會(huì)第69屆會(huì)議將評(píng)估《北京宣言》執(zhí)行情況
-