OCP(Open Compute Project,開放計算)是Facebook發起的一個開源硬件計劃,于2011年正式推出,此后陸續有Intel、AMD、Broadcom(博通)等公司加入。
在過去三年期間,通過使用開源計算項目設計與運作數據中心和服務器,Facebook 節省了 約12 億美元的成本投入。而自Facebook在OCP中首次提出開放交換機后,距今已差不多將近一年時間。其目的是使用戶在購買硬件設備后,不用被硬件商牽著鼻子走,可以自主選擇其它更好用的操作軟件為其服務。
Facebook技術業務總監Najam Ahmad說:“目前已有兩家公司的硬件設計方案在加緊審核中,一家是Mellanox(邁絡思),另外一家是Broadcom(博通)。此外,我們已經著手在數據中心機房中啟用部分博通設備做實地的測試。”
完全自主化
OCP交換機的愿景是在硬件供給實現供應商百家爭鳴,而在軟件配套上推行Facebook自家的網絡管理軟件。Najam Ahmad說:“這個構思的核心是實現混合與共存。而不必被動地向硬件商成套地購買軟硬一體化解決方案,一方面減少了成本,另外一方面增加了可擴展性。同時,我們更能有的放矢地及時優化數據中心整體設計方案,實現完全自主管理。”至此,OCP硬件三大版圖—服務器、存儲陣列、網絡設備,將會迎來完美的收官之戰。
同時,盡管博通的方案看似已先行一步,不過基于OCP的游戲規則,精打細算的Facebook未必就此打住,最后鹿死誰手還是個未知之數。SDN(軟件定義網絡)公司BigSwitch以及Mellanox(邁絡思)等都在暗中角力,為爭做第一個吃螃蟹的供貨商而努力著。
操作系統的選擇
對于為何Facebook能夠在OCP交換機上運行自家的網絡管理軟件,這還得歸功于2013年11月份誕生的一個OCP子項目—ONIE(Open Network Install Environment,開源網絡安裝環境),它的創始成員包括博通、邁絡思、BigSwitch等8家大型網絡設備供應商。當啟動支持ONIE的交換機后,其Boot Loader、Boots Up、操作系統切換等操作都是開源且支持在線聯機訪應答。
SDN在邊界路徑選擇中的應用
目前,Facebook的網絡操作系統是基于Linux的;而SDN控制器在網絡管理中扮演著重要的角色。例如,透過SDN可以為數據選擇一條最優化的邊界路徑,其原型是BGP協議。但是盡管BGP在會話建立、路徑探索、以及規則執行方面已經做得足夠的好,其短板—路徑選擇在大數據時代中難免成為“阿喀琉斯之踵”。譬如,它給出的最短路徑是以忽略網絡擁塞、網絡負載等消極因素作為前提的,而Facebook的SDN控制器會結合BGP路徑探索優勢以及充分考慮前述消極因素情況下才給出最優路徑。Najam Ahmad還這樣說道:“由此帶來的好處是網絡設備的使用率超過了90%,同時避免了數據冗余等消極影響。”
SDN在Hadoop中的應用
擁有超10億用戶的Facebook,每天的數據處理流量可謂日理萬T(B)。各個數據中心間基于Hadoop架構的數據傳輸,也難免會出現網絡擁塞的囧況。這個時候,SDN的運用就顯得非常重要。透過對所需數據傳輸資源的預估,SDN會根據網絡負載給出最佳路徑,確保各個大數據中心的數據流動快捷而穩健,以減少數據丟包出現的概率。
綜述
Facebook在其開源硬件策略中與硬件供應商亦敵亦友的關系將會繼續深化,單純用硬件捆綁軟件的營銷策略恰如明日黃花,同時這也加速了相關行業的快速洗牌,要知后事如何,且行且期待。