【AWS 當機一分鐘虧 180 萬台幣】當工程師為小事跟你計較時,要知道他們肩上的壓力有多大啊

【我們為什麼挑選這篇文章】前陣子,亞馬遜AWS中的雲端儲存服務S3出現當機,影響了Apple、Airbnb、Netflix等公司,損失難以計算。這篇文章就告訴你,這次AWS當機的影響有多深遠。(責任編輯:黃筱雯)

作者/西雅圖IT圈(微信ID:seattleit )

2月28號,號稱「亞馬遜AWS最穩定」的雲端儲存服務S3出現「超高錯誤率」的當機事件。

接著,半個網路都跟著癱瘓了。

一個字母造成的血案

AWS 最近給出了確切的解釋:一名程序員在調試系統的時候,運行了一條原本打算刪除少量服務器的腳本,結果輸錯了一個字母,導致大量服務器被刪。為了修復這個錯誤,亞馬遜不得不重啟整個系統(在此之前已經幾年都沒有重啟過了),最終導致了震驚全球的Amazon S3當機4個小時事件。

我想這名程序猿當時的表情應該是這樣的

圖片來源:Casey Fleser,CC licensed

曾經有人計算過,AWS每當機一分鐘,對亞馬遜造成的損失是$66,240美元…而這還不包括那些依靠AWS來運行自家服務的公司們的損失。所以這次接近4小時的當機造成多大的損失,只能請大家自行腦補了。

程序員的世界就是這樣的不近人情,一丁點兒錯誤就足以釀成大錯。在這次「一個字母造成的血案」之前,剛剛發生了Gitlab程序猿用錯一條命令誤刪了整個數據庫的悲劇。再久一點以前,歐洲宇航局的的火星探測器因為傳感器失靈了僅僅一秒鐘,就造成探測器在火星表面墜毀,歷時數年的探測計劃功虧一簣。

所以,當你身邊的程序員為了一點點小事計較的時候,你一定要理解:魔鬼都藏在細節裡啊!

當S3當機時,你才明白AWS多麼強大

幾年前,Google.com曾有一次當機了一個小時。在那一個小時的時間裡,整個互聯網的流量減少了40%。當時有人感慨:Google一家就是半個互聯網。如今,「半壁江山」的江湖地位似乎要歸屬於亞馬遜了。

AWS是雲端計算領域全球的領導者,而S3又是AWS歷史最久的服務,可以說是AWS的基石。很多AWS提供的其他服務都依賴於S3雲端儲存,比如EC2,Lambda 和 EBS 等,所以這次當機影響巨大。據最近的統計顯示,全球共有148213個網站和121761個獨立域名在使用AWS S3服務。

就拿這次事故來說,很多人一覺起來發現手機裡的歌聽不了,電影看不了,股票不能交易,App也沒法下載,就連家裡的智慧電器都紛紛罷工(主頁君家裡的電子門鎖都失靈了!)雲端計算聽上去離生活很遠,其實離我們很近。

這次S3當機影響到無數家公司和服務

在這裡羅列了幾個著名的:

  • Apple App Store & icloud
  • Airbnb
  • Expedia
  • Netflix
  • Quora
  • Amazon Echo
  • Amazon.com
  • Nasdaq

就連AWS自己用來公布服務狀態的 AWS Dashboard 都受到了影響,在一段時間內只能通過Twitter賬戶來發布更新狀態。這次S3宕機事件的影響範圍之廣,可見一斑。

「打錯一個字母癱瘓半個互聯網」是怎樣的感受?

在今天亞馬遜披露了這起事故背後的原因後,很多人心裡都會有一個疑問:

這個倒霉的程序員會被開除嗎?

關於這一點,雖然主頁君肯定沒法做出准確的判斷,但還是願意給出我們的猜測:不會。

首先,這名程序猿打錯命令有沒有責任?肯定有。但是,在處理高度可靠的雲端服務時,每一次操作都應該按照嚴格的程序,每一個命令都要經過足夠的審核。除非這名程序員在操作過程中因為偷懶省略了一些必要的步驟,否則,這次事故更多是系統的責任,因為系統沒有足夠的機制來防止錯誤的發生。人,都是會犯錯的,只有機器不會。

其次,oncall(值班)的程序員一邊操作著影響巨大的的系統,一邊還需要爭分奪秒的解決問題,肩上的壓力之大難以想像。雖然這次事故確實是由於一個打錯的字母造成的,但如果事故發生後,作為雲端服務領航者的亞馬遜不是勇敢的承擔這筆學費,而是把鍋甩給某一個程序員身上,那就太讓人寒心了。

我甚至敢斷言:如果亞馬遜真的做出這樣的決定,那麼他們在日後的招聘過程中會遇到很大的困難——每個程序員都會三思:我會不會成為下一個背鍋的人?

當然,如果這哥們(也可能是姐們)

真的因此被解雇了,想想看——我打錯了一個字母,就癱瘓了半個互聯網

這牛逼也夠吹一輩子了!

最後,主頁君想說:程序員這行真的不容易,做雲端服務的尤其如此,大家且行且珍惜。對受到這次事故影響而心驚膽戰了好幾幾天的程序員們說一句:加油,你們挺住!

延伸閱讀

Google 總監揭秘:Google 服務為何幾乎沒斷線過?
【工程師的手殘故事】Gitlab 員工意外刪除資料庫,漏夜開直播搶修 8 小時
有個工程師手殘執行了 rm -rf 指令,然後他(的公司)就這樣死掉了

(本文經原作者西雅圖IT圈授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈“打錯一個字母,癱瘓半個互聯網” 是怎樣的感受?〉。首圖來源:Tim Regan,CC licensed)