大數據應用對網絡工程師提出新要求
Plexxi是一家軟件定義網絡(SDN)初創公司,提供控制器、交換機等企業網絡解決方案。作為Plexxi的產品管理高級總監,Marten Terpstra最近在他的博客中詳細講述了大數據為企業網絡所帶來的變革,以及企業的應對方法。我們對這篇文章進行了整理,希望能夠對您有所啟發。
在大數據時代,人們很少談論跟網絡相關的話題,仿佛網絡與大數據是風馬牛不相及的兩回事。事實上,網絡不僅跟大數據應用息息相關,而且還發揮了非常重要的作用。但對于很多網絡工程師來說,他們并沒有認清這一點。
如今在一個典型的數據中心架構中,包含了大量松耦合的應用和半分布式的存儲設備。一個基于Web的應用實際上是由很多組件組成的,如應用負載均衡、web服務器前端、應用后端,而且都有相應的數據庫作為數據存儲。這些數據庫會有本地或者集中化或半分布式的物理存儲設備,存儲又有復制和備份的組件。所有的數據中心內部的流量都需要將正確的數據傳送給應用用戶。這里的用戶可以是一個人,也可以是另外的一個應用。
上述這種較為傳統的分布式應用,其通信方式是相對直接的,很好理解。通過基礎的測量和分析工具,你就可以完整地了解到一個應用的各個組件之間的運轉方式,它們之間是如何交互的以及它們需要什么樣的網絡環境等等。在部署應用之前,開發人員幾乎不用為網絡工程師提供具體的需求和指導。而在這個應用走完至少一個擴展和性能調整周期之后,基本就會形成一個固定的模式并保持下去。對于網絡工程師來說,他們要做的就是確保能夠為這一模式提供合理的網絡連接。
然而針對大數據應用,它給我們提出了新的課題。大數據應用往往是以高度并行化的方式運行,它們部署在一個分布式系統當中,這需要在基礎設施當中進行海量數據的“大挪移”.大數據應用在設計的時候,會假定數據與其消費方式都是持續分布式的,并且在一個大數據集群當中復制到各個節點。許多應用都要應對多種不同的數據分析任務。而數據集以及數據生成方式更是多種多樣,因此它們對于網絡的要求也會有所不同。正式基于這一點,我們就需要一個更加動態的網絡環境來滿足大數據應用的需求。
我們看到,如今有很多大數據應用是部署在1GbE網絡上的。很多企業認為,網絡根本就不叫個事兒,大數據只不過是一個計算密集型的項目。這其實是最基本的錯誤理解。事實上,許多大數據應用都是在處理半實時的流數據,每個數據集只需要一個相對較小的計算資源。而這些數據需要新型的連接方式,這是我們以前所沒有遇到過的。
上周我跟一個Ad Tech的工程師聊,這是一家發展速度非常快的企業,提供市場營銷與廣告相關的技術解決方案。他目前管理了一個大數據集群,其中有200臺物理服務器,使用了市場中最高端的網絡交換機。在開放一半的可用端口之前,網絡堵塞問題就已經非常嚴重了。這個集群中,機架間需要每秒鐘傳輸700GB甚至1TB的流量。說實話,市面上很少有網絡設備能夠應對這樣的需求。
有人會說,多加帶寬不就完了嘛。而Ad Tech公司的這個案例,恰恰印證了我們所說的,企業在處理這樣的應用需求時需要重新思考他們的網絡架構。傳統的思路已經不能跟支持新的應用和新的需求了。應用在發生變化,服務器、存儲以及它們的工作方式也在發生變化,網絡工程師需要積極擁抱這種變化。
但懼怕或者逃避不能解決任何問題,不管你喜不喜歡,該來的總歸要來。網絡工程師要盡最大努力理解它們的需求,擺脫傳統思維的束縛,然后思考什么樣的網絡能夠解決這些問題。因為網絡在其中起到了非常重要的作用,它對大數據應用的性能會產生巨大影響。