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