歡迎關注“新浪科技”的微信訂閱號:techsina
文/書航
來源:航通社(ID:lifeissohappy)
“微博崩了”“知乎崩了”“小紅書崩了”我們都經歷過。你能想象“微信崩了”是什么場景嗎?
2021 年 1 月 18 日下午,曾有諸多網友反映微信群聊、私信等收不到消息。“微信 bug”一度沖上熱搜。騰訊微信團隊回應:
“由于系統抖動原因,今天14點左右,部分微信用戶遇到了消息收取延遲情況,現在已經修復完成。”
這次“系統抖動”影響的人數確實相對較少,而歷史上,微信也只有朋友圈、紅包等部分功能模塊偶爾出現“崩了”的情況,相對來說算是“穩如泰山”。
但是,在剛剛過去的 10 月 4 日,除中國大陸以外的全球網友是切切實實體會到了一次什么叫他們的“微信”崩了。有著 35 億活躍用戶的 Facebook 全線業務,一度在全球范圍無法訪問長達 6 小時。
這些服務包含 Facebook 及其相關服務 Instagram、WhatsApp、Messenger、Oculus 等;以及其企業級產品,甚至 Facebook 的公司內網。其中,WhatsApp 和 Facebook Messenger 是公司旗下兩款“微信”類即時通信產品,分別在全球范圍擁有 20 億用戶和 13 億用戶(有重疊),都高于微信(含海外 WeChat)的 12.4 億用戶和 QQ 的 6.06 億用戶。
這次史無前例的故障,其起因本身就是 Facebook 在疫情后不得不開展大量遠程工作,導致檢修員工不在現場,讓事故持續拖延下去。而其結果,是讓全球不計其數的中小企業乃至政府部門的遠程工作受到嚴重影響,造成一波又一波的次生災害。
世紀新冠疫情讓人們不得不留在家中,依賴互聯網完成大部分工作和人際交往,原本臨時的遠程辦公措施逐漸常態化和永久化,也讓人們憧憬新生活方式的可能。但只需要一次簡單的服務中斷,這一切就都有可能被打回原點。長達 6 小時的 Facebook 大宕機,正是讓我們重新反思這一切的絕佳時機。
發生了什么?
根據目前能掌握的信息,這次 Facebook 的大規模故障應該是從一次例行維護開始的。
Facebook 主管基礎設施的副總裁賈納丹(Santosh Janardhan)說,他們在維護過程中發出的一條命令,無意中關閉了通往世界上所有 Facebook 數據中心的骨干網連接。
圍繞此事,主要有兩個不同的陰謀論。
一是此事正好趕在有位“吹哨人”就 Facebook 及 Instagram“無視兒童安全”上美國國會聽證會的前夕,6 個小時也許夠用來“毀尸滅跡”;
另一說是有 15 億份近期的 Facebook 用戶個人資料流出,有人說黑市每 100 萬個用戶資料開價 5000 美元。6 個小時同樣也許可以用來補救或者掩蓋什么。
目前來看,因為“吹哨人”而自導自演宕機的可能性小到幾乎為 0。官方一再解釋,此次宕機并不是黑客攻擊導致,也沒有證據顯示有用戶數據是因此事而泄露。
不過,“如無必要,勿增實體”。這起事件是一次單純的誤操作所致,也許是一種更簡單也更靠譜的解釋。
除 Facebook 官方之外,負責第三方公共 DNS 解析和 CDN 服務的 CloudFlare 也在官方博客分析,從外部觀察,就是 Facebook 的 BGP(邊界網關協議)出的問題。
通俗的說,DNS 是互聯網的“地圖”,用來告訴你“x 在什么地方”;而 BGP 是這一“地圖”的“導航”部分,告訴你“怎么走去 x 最快”。
要準確理解這一概念,首先要明白一點:
我們現在所稱的“互聯網”,字面意思是“網際(inter-)網絡(net)”,也就是“網絡的網絡”,是無數張小網絡如“島嶼”般彼此連接的后果。這些小網絡可能是“中國電信”、“清華大學”或者“x 公司北京辦事處”。
相對于全球所有聯網電腦而言,一整個國家——比如中國或俄羅斯——的全國網絡也算是一張巨大的小網絡,通過海底電纜等“橋梁”同其它外“島”相連。但由于它們遵守相同的協議,所以聯網方法完全相同。
BGP 就是要告訴用戶,在地理意義上,你必須經過某些“島”和“橋梁”才能到達目的地。一般來說,BGP 會智能地選擇多種不同路線中距離最短的那一條,當然“最短”不意味著“最理想”,因為有些“橋梁”比如 5G 數據連接是收費的。
當 Facebook 的 DNS 服務器注意到問題,就自動停止繼續分發 BGP 路由信息,等待連接恢復正常。因為全球各地設備無休止的發起不成功的訪問請求,會導致對上級 DNS 服務器更嚴重的沖擊,讓影響擴散得更嚴重。
這樣的事情曾在中國發生過一次。2009 年 5 月 19 日,兩個盜取游戲資產的黑客私斗,導致第三方域名解析服務 DNSPOD 被攻擊到癱瘓。中國電信停止了對其的網絡服務,致使其無法為域名提供解析服務,諸多采用 DNSPOD 服務的網站無法訪問。
恰好當時全國裝機量約 1.2 億臺的影音播放器“暴風影音”會定期自動訪問服務器檢查更新,也因為 DNSPOD 故障而不斷發起域名解析請求,最終干掉了整個電信運營商的本地域名服務器,引發了全國大斷網。
在本次事件中,Facebook 內部的 DNS 服務器本身仍在工作,但主動選擇停止解析,以保護更大范圍內的網絡。雖然修理它并不是什么難事,然而一系列連鎖反應使問題進一步惡化。
怎么會這么嚴重?
缺乏網絡連接和域名解析丟失,切斷了遠程工作的 Facebook 工程師和服務器的聯系,也禁用了許多他們平常使用的檢修工具。一位 Facebook 內部人士在 Reddit 爆料,當時的情況是:
會修的人連不上路由器也沒有登錄權限,
有權限的人不會修也連不上,
唯一在機房能物理接觸到路由設備的員工沒有權限也不會修。
由于內部通訊工具也掉線了,這三波人協作困難,雪上加霜。
公司內部的混亂是全方位的。員工之間本來用公司自己的通訊工具溝通,有時即使需要訪問友商業務如谷歌文檔和 Zoom 會議軟件,也要求使用 Facebook 賬號單點登錄。系統崩潰讓這一切都陷入停頓。
有的員工在事發之前已經用公司賬號登錄到谷歌文檔等環境,受影響尚且較小;有的急忙上線,卻發現自己只能用基于微軟 Outlook 的工作郵箱、蘋果的 Facetime 等各種各樣的替代服務與同事聯系。
新浪科技駐硅谷記者鄭峻寫道:
“一位 FB 朋友說,今天大家都很尷尬,不知道發生了什么,也不知道該做什么,只好假裝什么都沒有發生,在給一家不存在的網站工作。”
修復工作很顯然無法遠程完成,工程師們緊急“打飛的”到加州的主數據中心參與維修。在此期間,一些員工并不能使用門禁進入公司大樓和會議室,而這些地方的門只能用門禁卡刷開,沒有鑰匙孔。
The Verge 甚至曾一度獲得更戲劇性的消息——因為門禁卡失效,工程師只能帶著切割機,強行鋸開數據中心的服務器鐵籠。不過后面這個報道未經證實,被撤回了。
不過一旦人都被“物理傳送”到了合適的位置上,事情相對就好辦多了,只需要“激活安全訪問協議”而不是動用電鋸。
只不過,就算已經解決問題,也必須逐漸一點點地“開閘放水”,否則一次性打開所有通路就如同“8 個明星并發出軌”,會導致更多的系統崩潰。負載必須逐步增加,除美國以外地區的其他用戶要等更久才恢復訪問。
最終,一切又大致恢復了正常,包括 Facebook 最多曾下跌 5% 的股價。
都是“遠程”惹的禍?
2020 年 5 月,中國已經大致控制住了第一波疫情,而美國的疫情開始急劇升溫。當時 Facebook 表示,關閉公共辦公空間,所有有條件的員工都需要在家工作。而這一措施是短期、臨時性的措施,待疫情受控,辦公室重開后,將僅允許某些員工,尤其是最資深、最有經驗的員工長期遠程工作。
時隔一年,Facebook 在今年 6 月 9 日更新了政策,將長期遠程辦公的許可范圍擴大到任何有能力在家完成工作的員工。
扎克伯格寫道:
“在過去的一年里,我們了解到,員工在任何地方都能完成良好的工作。我更樂觀地認為,遠程工作有可能大規模進行,尤其是在遠程視頻和虛擬現實不斷改進的情況下。”
自然,無法遠程完成的工作崗位通常包括那些在硬件設備或數據中心的工作。但從今天這起事件的情況來看,很顯然就連數據中心和網關的崗位,也有一部分已經在“遠程”了。
扎克伯格還表示,Facebook 將開始允許員工跨越國境線進行遠程工作。Facebook 將允許美國員工要求在加拿大、英國和歐盟的遠程工作。到 2022 年 1 月,公司將允許員工在歐洲七個國家之間永久流動。
據統計,Facebook 的勞動力總數約為 6 萬人,全美絕大部分辦公室在 9 月初以 50% 的容量重開,按計劃 10 月要全面開放。
Facebook 并不是唯一一家選擇更深入擁抱遠程辦公的科技巨頭。具體到它本身,其理由一方面是疫情的常態化、長期化以及來勢兇猛的變種,另一方面是 Facebook 的業務范圍本身就包含讓人們遠距離溝通的含義。以 Oculus 為載體的增強現實和所謂“元宇宙”服務也在其規劃之中,它本身就計劃創造一個跨越物理距離和國家邊界的網絡領地,而自家員工的率先啟用,正好可以做一個內部演練。
直到此時,人們主要關注的還是遠程辦公是否會影響效率的問題,以及是否可以全面模擬和替代現場辦公的體驗,及產生所謂“化學反應”。
扎克伯格說,想要在 Facebook 辦公室工作的員工,將被要求至少有一半的時間來上班。這是為了確保辦公室保持活力,并確保進入辦公室的員工充分利用空間,成為社區的一部分。此外,他們還計劃為辦公室和遠程人員組織定期的現場聚會,以維護同事關系。
另外值得關注的問題還包括工資。遠程工作很容易導致的結果就是“在老家辦公,拿北京的工資”或者“在泰國工作,拿硅谷的工資”。企業當初為員工制定的薪資一般都結合了當地物價和住房成本(如果租房補貼不另計的話),所以長期遠程意味著需要與員工協商一定程度降薪。但考慮到不同人工作節奏和偏好的不同,從工作效率最大化的角度出發,員工和公司往往也都愿意接受改變。
從今天開始,人們將不得不思考在這些問題之外,一個更基本的原則性問題:如果連不上遠程辦公所需的網絡基礎設施該怎么辦?
這一問題此前只是在 Zoom 會議期間才被提起,因為各人所處的網絡環境和相隔距離不同,直到疫情爆發一年多后的今天,開一場語音或視頻會議依然可能是一場折磨。一張網圖說,現在上班開會的感覺有點像“招魂”:
不過,我們有微信群和釘釘群們啊。雖然語音視頻略顯奢侈,但在群里各自發語音消息片段,乃至直接打字,早就被我們視作日常操作,不可能出問題的。在這個意義上,微信們也儼然成了跨越物理網絡、跨越國界的電信運營商,是名副其實的基礎設施。
這次,就是這種我們看作完全不可能掉鏈子的服務出了故障。
被刻意忽略的風險
起初的一兩個小時里,人們還只是在隔壁 Twitter 上轉發梗圖調侃。越到后來,大家就越有點笑不出來了。
很多人猛然驚醒,發現他們和生命中交往最頻繁的同事、朋友乃至相隔兩地的家人,彼此聯系方式就只剩下在線這一種,電話號碼也許是幾年前的,說不準換了號。如果就此一別,真就不知何時能再相見。
在充滿挑戰的疫情時期,作為國際版“微信”的 WhatsApp 讓世界各國的人們與身邊社群保持聯系,也因此做出了很多獨特的貢獻,很多重要的活動沒有它都是不可能完成的。WhatsApp 官網就列舉了一部分:
印度“契約勞工”制度的幸存者通過 WhatsApp 群組分享疫情信息,解決同伴受教育程度低,消息閉塞的困難;
巴基斯坦一個 WhatsApp 群組籌集了 2100 萬盧比,幫助弱勢群體;
約旦的就業促進計劃使用 WhatsApp 幫助女性找工作;
敘利亞難民營的教師們在 WhatsApp 上與家長共享視頻課程;
一群意大利市長通過 WhatsApp 相互掌握實時動態,該國那不勒斯的小學在停課期間用 WhatsApp 發送家庭作業;
巴黎的醫療人員組成 WhatsApp 群組,隨時更新當前醫院病床、資源等信息;
對許多人來說,不能訪問 Facebook 只是帶來不便。但是對于發展中國家的一些小企業來說,沒有其他可靠方式與客戶溝通,這可能是一個嚴重問題。
印度擁有 3.4 億 Facebook 用戶,是全球最多,WhatsApp 也是該國個人和企業溝通的重要工具。研究公司 eMarketer 稱,印度有近 4.9 億 WhatsApp 活躍用戶。
這兩大平臺不僅承擔中國“微博”和“公眾號”的角色,可以宣傳商品,更可以如“小程序”般作為網店銷售產品。成千上萬的印度企業被迫停業,而相關顧客也沒法網購生活必須品。
在巴西,政府官員甚至教育系統都在使用 WhatsApp。學生可從 WhatsApp 接收考試成績。醫院也使用 WhatsApp 預約掛號和遠程會診。
長達 6 小時的服務中斷,讓扎克伯格本人的紙面財富縮水了 60 億美元,但由于 WhatsApp、Messenger 和 Instagram 等工具為全球政府、商家、慈善機構、社區和普通人與人之間聯系帶來的損失,恐怕難以估量。
這次物理層面的宕機,鮮明體現了遠程辦公依賴一個脆弱的基礎架構,它因為缺乏備份而顯得脆弱。越多的冗余備份當然是越安全,但也讓使用者疲勞,因此人們總想拋棄安全保障的枷鎖“裸奔”。
如同 Facebook 滑稽的公司內網設定一樣,這家科技巨頭同樣為世界各地的人民提供了另一個脆弱的架構,人們在日常生活中對社交媒體工具,尤其是 Facebook 系產品的依賴已經難以擺脫。
即使如部分美國參議員堅持的那樣,將 Facebook 等科技巨頭分拆,情況可能也不會有太大改變,因為這只會造成開發產品的公司實體變更,而不會改變人們總喜歡往單一平臺聚集的意愿。
無論 Facebook 的故障是由無心失誤、人為操控還是惡意代碼造成的,一個公司的暫時停擺能夠影響全球跨越國界的如此多的互聯網用戶,這令人不安。這向人們展示了,支撐后疫情時代全球化運轉的國際互聯網生態系統是多么脆弱,而新的風險幾乎近在眼前。
人類歷史上,已經多次有過同類的教訓:
二戰時期納粹德國從侵略小國開始,逐步偷襲蘇聯、鯨吞法國、劍指英吉利;
9/11 前美國政府已經獲得相關情報;
2008 金融海嘯前房產泡沫征兆已經相當明顯;
幾個月前開始整頓教育培訓機構時,相關的政策配套也已經出臺好幾年了。
甚至聚焦到信息安全領域,也同樣如此。今年 5 月,美國科洛尼爾燃氣管道公司(Colonial Pipeline,又譯“殖民管道”)遭遇勒索軟件襲擊,一度關閉了橫跨多州的輸油大動脈,在支付約為 400 萬美元的加密貨幣贖金后得以恢復。
然而常見的惡意軟件、勒索軟件襲擊都是可以通過更新企業電腦的安全軟件,嚴格員工的安保措施,升級到最新版操作系統等基礎方式來預防的。微軟相關人士在解釋為什么 Windows 11 強制提高了硬件要求,讓一些 3-5 年歷史的機器也無法升級時說:
“我們從 Windows 10 中學到的是,如果你讓安全設定變得可有可無,人們就不會把它們打開。這是一個很大的教訓。”
風險就在那里,警告從未缺席。但因為有其他迫在眉睫的問題,風險和警告一直被人們刻意忽略,直到最終爆發。
互聯網是一個脆弱的生態系統,建立在全球海底電纜和分布式服務器網絡之上。人們很容易忘記,互聯網不僅僅是一個概念網絡,乃至無實體的“元宇宙”,它們都建立在物理基礎設施上,這很重要;由誰控制這些基礎設施,更為重要。
既然人類的抱團社交天性,可能注定了他們難以接受“狡兔三窟”式不停更換社交媒體服務商,戒斷 Facebook、Twitter、YouTube 或其它任何集中式的單一服務,成本太高,似乎也沒有必要;那么,這些巨頭自身和位于其上的監管部門,也就同時被賦予了更大的責任。因為他們的目標已經超越了企業的穩健盈利,而是以此為生的億萬民眾、中小企業的衣食所系。
社會正更嚴厲地審視巨頭們是否能盡到社會責任,保障基礎設施的平穩運行。如果不能,政策將很快轉向到加速競爭,打破壟斷,提供替代方案,加強監管。這正是現在各國都在做的事情——任何一家互聯網公司都不應該變得“大而不能倒”。
Facebook 修好網絡以后沒過幾個小時,其前員工控訴公司“只顧賺錢,不管公共利益”的國會聽證會也順勢開幕了。照例,我們還會聽到自法務副總裁到扎克伯格本人的反駁;但其斷網事件本身,比其它任何材料都更雄辯地說明,人們需要對大平臺始終保持警惕,并限制它們進一步侵占我們的生活和工作,讓我們在事實上變得失去其它選擇。
也許,每個人面對這種警惕要做的第一件事,是跟自己微信群里素未謀面的好友和同事們,交換一個其它類型的聯系方式。
(聲明:本文僅代表作者觀點,不代表新浪網立場。)