Amazon快逃吧……硬件領域的無人機正蓄勢待發
我們到底該如何評價Facebook的硬件開發實驗室?是天堂、是商業機遇、還是可怕的地獄?答案取決于大家的發言立場。
如果各位身為硬件發燒友,喜歡鼓搗數據中心設備、嘗試精簡多余的組件并盡量壓縮基礎設施的整體成本,那么這座實驗室絕對堪稱大家夢寐以求的奇幻之地。
但如果大家身為惠普、戴爾、聯想、思科、博科、瞻博、EMC或者NetApp等企業巨頭的高管,那么這間實驗室則彌漫著一種陰森恐怖的氣氛。實驗室中那一小隊辛勤的Facebook員工正在努力嘗試不同的服務器及存儲陣列制造方案—如今甚至連網絡交換機也加入進來,而這一切都將給各位旗下的產品帶來威脅。
同時,如果大家代表的是廣達電腦、富士康或者緯穎科技等亞洲組件制造商,那么這座實驗室很可能成為各位口中津津樂道的話題。理由很簡單,Facebook就是在這里設計其“開放計算”設備的,而設計方案最終將向業界廣泛公開。拿到了最新的設計方案,上述亞洲企業就開始緊鑼密鼓地將其轉化為產品并進行出售—當然,他們的每一分利潤都是從惠普、戴爾、聯想等廠商手中搶奪而來。
很明顯,要想切實了解這座實驗室,我們必須親身前往。因此本月早些時候,我們乘加州鐵路的火車趕赴社交網絡巨頭總結所在地,并精心準備了一系列問題。首當其沖的就是:作為一家社交網絡企業,你們為什么要花這么大力氣設計并制造自己的數據中心硬件?
事實證明,理由很多也很充分。
盡管Facebook推出的應用程序看起來似乎平平無奇,但其背后卻蘊藏著無比巨大的能量—這套社交平臺在運作時需要面對超過十億名用戶、高達數十PB的存儲數據,其全球三座數據中心(另有一座在建)當中每一座都擁有數十萬臺服務器(據我們估算)。在如此龐大的設備用量之下,Facebook確實有理由認真考慮如何才能以最低成本完成設備的采購與消費。
整體來看,社交網絡體系的現有工作負載可以被劃分為五種不同類型,因此其只需要五種不同的服務器設計方案即可順利駕馭這艘龐大的信息巨輪。
這些SKU往往只面臨單一種類的性能瓶頸—對于數據庫服務器來說,這種瓶頸可能源自內存或者閃存容量;對圖片服務器而言,磁盤存儲容量則是主要障礙;而在Hadoop服務器方面,CPU速度則成為決定性能表現的關鍵因素。
“推動我們硬件SKU實現進化的最大動力源自主要組件,”Facebook公司基礎設施負責人Jason Stowe解釋道。
Facebook開放計算成果展示——雪橇式服務器
出于這個原因,Facebook始終在服務器設計工作中將可升級特性作為必要前提。換言之,其服務器方案需要能在無需從數據中心內卸下或者進行復雜維護的條件下正常運作。為了達到這一目標,雪橇式服務器(如上圖所示)應用運而生,它能在盡可能壓縮成本的情況下實現快速維護。
“縱觀整套硬件體系,我們首先想到的就是自己建立的方案面臨著怎樣的關鍵性瓶頸,”Stowe解釋稱。“我認為這是過去四年以來我們最擅長的工作方式,即在面對顯著變化時成為第一批采用者。”
夢想開始的地方
Facebook實現卓越速度表現的主要功臣正是這座硬件實驗室,它幫助社交網絡巨頭對現有設計進行優化,同時在新機架設備上充分發揮不同技術帶來的各類優勢。
通過鼓勵實驗性嘗試,Facebook允許員工快速提交自己的原型設計思路、考慮如何安排并配置硬件,從而為社交網絡巨頭帶來適合特定用例的新方案。
一塊正處于測試當中的服務器開發板
在開發服務器方案的過程中,Facebook會利用由硬件合作伙伴提供的開發板(如圖所示)幫助進行硬件測試。有時候Facebook還允許好奇的參觀者親手利用這些設備對開放計算項目的設施方案進行測試—但根據我們了解到的情況,這并不符合官方管理政策的要求。
萬板合一的“壽司船(sushi boat)”
“壽司船”服務器(如下圖所示)正是Facebook在軟件及硬件開發領域擁有“快速行動、有所突破”信心的直觀實例。
“壽司船”服務器能夠容納最多80塊SSD卡
通過圖片可以看到,這臺由Facebook工程師團隊在一次“黑客馬拉松”競賽中打造的服務器實用性頗高、足以容納大量2.5英寸筆記本規格SSD卡。
利用輕質木材、紙板與一臺Makerbot 3D打印機,開發團隊得以構建起一套能夠容納80塊SSD的原型服務器。
“他們設計出了包括I/O系統在內的整套方案,”硬件工程高級經理Matt Corddry解釋道。“設計成果真的非常簡潔。”
“壽司船”利用小型容納接入驅動器
令Facebook驚喜萬分的是,當這套設計方案投付實際評估時,他們發現其功耗水平、自身重量以及存儲資源承載能力都遠遠優于Facebook目前所使用的“冷門存儲”服務器。
“系統中的所有SSD排布都具備嚴格的工程考量,”Stowe解釋稱。“如果我們將其用作歸檔存儲機制并與SSD進行映射,則可以得到一套容量密度更高而讀寫性能較低的理想方案。由此看來,利用SSD解決方案充當歸檔存儲機制并非毫無可能。”
盡管Facebook還沒有將方案立即投付生產的打算,但Corddry坦言這項設計將“成為理想的后備機制”,而且Facebook可以利用原型機在短時間內批量生產出眾多生產服務器。
正是這種豐富想象力與靈活性之間碰撞出的精彩火花,讓社交網絡巨頭下決心將硬件實驗室堅持搞下去。
大罐頭(Big Tin)
雖然Facebook的主要工作內容在于讓工程師與其它設備廠商合作,進而打造出可用于創建規范化產品的組件;但他們同樣也樂于親自動手制造一些小玩意兒。
不只是主板與機架——Facebook的工程師們也會利用來自上世紀五十年代的車床實現自己的構想
在公司總部的另一棟樓里,我們頂級Fortus 250mc 3D打印機旁邊擺放著一臺來自上世紀五十年代的金屬車床。
Fortus 250mc打印機能幫助Facebook快速完成原型機設計
這兩臺設備的作用都是快速制造原型機零部件。以3D打印機為例,其與Facebook網絡相連接,因此工程師們能夠坐在自己的辦公桌前操作其進行打印。
“這正是我們實現高效工作的途徑—工作人員們醞釀出思路,然后將其以模型形式呈現出來并實際觀察,”Corddry表示。“在我們的工作當中,3D打印機是打造早期原型機以及初步調整的神器。即使是非常微小的細節—例如回型針或者張力裝置,都可以借它之手表現出來。如果我們生活在硬件世界中,它們就是這個世界里的奇觀。”
生于車庫:三十塊驅動器、一個小型容器
下面我們關注的對象是“Knox”,這款先進的存儲機架很好地詮釋了創新型方案給社交網絡巨頭帶來的實際價值—它幫助Facebook將三十塊驅動器塞進了一個小型容器當中。
Facebook“Knox”系統的一套早期版本。
正如硅谷作為Facebook最理想的誕生地,Knox原型機(如上圖所示)最初也恰如其分地出現在了Facebook公司工程師John Ehlen自家的車庫中,他在郵件中告訴我們。
在原型設計的幫助下,Facebook得以對滑軌式硬盤驅動器機制進行測試。
這套原型機利用“膠合板作為服務器托盤,并以50磅重物來模擬設備的總體重量,同時通過泡沫板(如圖所示)代表硬盤驅動器,”他在郵件中解釋道。
通過建立原型方案,工程師們能夠對開放計算項目的早期設計進行了解并掌握其特性,Ehlen指出。
ODM合作伙伴負責制造原型機的后續版本,Facebook將借此敲定最終設計方案。
隨著設計工作的進行,工程師們會不斷引入其它材料、直到最終將木質雛形打造成全金屬原型機(如上圖所示)。這里看到的設備是由原始設備制造商負責提供的。
“但這還只是理論方案,因為其設計細節還非常粗糙,而且Facebook的機械工程師會在鈑金廠的車間內對現有零件進行修改并利用鈑金沖床制造新的零件,”Ehlen表示。
最終的成果就是Knox:這款存儲陣列目前已經正式在Facebook位于俄勒岡州普賴恩維爾市的存儲設施內服役。
不過除了實際作用之外,硬件實驗室也在很多發燒友心目中成為一塊令人魂牽夢繞的圣地。在我們的參觀過程中,Corddry坦言他們也曾經設計出過一些不太成功的方案。他回憶稱,大約十個月之前一些工程師制造出一臺具備四個旋翼、足以將便攜式硬盤驅動器帶上天空的設備。“有一天晚上,這架四翼直升機帶著一塊硬盤在園區里到處亂飛,”Corddry告訴我們。Amazon,知道怕了吧?