1. 程式人生 > >直面數據中心網路六大需求,六步打造面向未來的網路

直面數據中心網路六大需求,六步打造面向未來的網路

從思科2016年網路報告白皮書中我們可以看到,2015~2020年全球網路流量年複合增長率將達到22%,至2020年全球網路流量將會淨增長200EB(其中2015年全球網路流量為72EB,2016年這一數字為88EB,1EB=1,000PB)。這些資料只是通過廣域網(WAN)、行動網路、骨幹網傳輸的流量,並不能反映出資料中心內部的流量。雖然有一部分流量是P2P的,但大部分流量是通過資料中心南北向的出口。

大部分現在的應用都是資料驅動的,並且比過去的應用複雜。結果導致東西向流量是南北向流量的數倍。思科認為網路流量的“二八效應”在資料中心反轉了,並且東西向流量是南北向流量的5倍都不止。

現在的資料中心都是基於谷歌、微軟、亞馬遜和Facebook這樣的網際網路巨頭的彈性雲技術架構構建,在企業與通訊服務供應商看來,效仿網際網路巨頭的做法簡單、高效。至於為什麼企業與通訊服務供應商要升級他們的資料中心,看一下他們業務的核心需求便知。

下一代資料中心網路變革的動力

傳統的資料中心網路是由純物理的路由器和交換機組成的樹狀結構,大部分流量都是南北向的——使用者的請求進入資料中心並由負載均衡叢集分發,處理過的請求再返回給使用者。通常這種樹狀網路中一半的裝置處於工作狀態、另一半處於待命狀態以便隨時接管可能發生的鏈路或裝置故障。

由於SDN和NFV技術的演進,以雲端計算技術為主的新資料中心將網路邊界進一步擴大了,資料中心之間的物理距離也在擴大。跟傳統資料中心相比,下一代資料中心網路迥然不同。為了滿足下一代資料中心的需求,主要的雲服務商開始對資料中心的網路進行升級,這對企業和企業服務供應商也有不小的影響。對於企業來說,以下幾點關鍵因素推送著資料中心網路的改進:

  • 形成IT技術差異化,提高競爭力,推動業務敏捷性,降低運營成本;
  • 增加視訊、富媒體內容的消費;
  • 利用雲端計算和移動應用的優勢;
  • 強調資料的重要性(大資料、物聯網以及分析能力)。

與其說以上因素推動了企業改進資料中心的網路,不如說業務的發展促使資料中心的網路滿足和支援上述特性。那麼為了滿足業務的發展,對資料中心網路的要求又有哪些呢?

下一代資料中心網路的需求

由於業務和應用的驅動,一波新的網路需求浪潮正朝著IT基礎設施技術湧來。通過對企業和雲服務商的調研不難得知,下一代資料中心的網路建設要迎合以下趨勢:

模組化、標準化、簡化

世界上最先進的資料中心如谷歌、微軟、領英、Facebook等都在向著模組化的方向發展,每一個模組都包含標準化的網路架構,使用諸如博科、Marvell的交換機和Centec、Barefoot、Cavium的晶片。許多大型雲服務商使用的交換機都是定製的版本,這些標準化的設計也成為了開放計算機專案(OCP)硬體標準的一部分。

這些標準化的模組在世界範圍內的資料中心都易於部署和擴充套件。雖然模組化是雲服務商最早開始使用的,但企業和通訊服務商也紛紛採用了類似的設計。

為了支撐應用和資料的大規模擴充套件,下一代資料中心需要一個新的標準化的、簡化的網路。傳統的資料中心網路需要專用的硬體裝置,每一種裝置的網路能力都有較大的差異。IDC通過採用標準伺服器裝置(這和SDN、NFV的思路一致)力求減少網路裝置的數量,同時優化網路並降低其複雜度。此外,下一代資料中心網路也傾向於使用較少的白盒裝置來優化網路,這種策略與4~7層網路功能向標準服務平臺遷移異曲同工。

虛擬化和容器技術

隨著大量的程式被部署到虛擬機器中,以及以Docker、CoreOS和其他容器解決方案為代表的Linux容器技術的普及,下一代資料中心支援虛擬化的能力變得至關重要。絕大多數企業並不像Facebook那樣有雄厚的技術實力,在不同程度上都需要虛擬化和容器技術的支援和服務。

下一代資料中心網路帶來的另一個關鍵變化是,網路的邊界不再是傳統的ToR交換機,而是執行在伺服器上的虛擬交換機(vSwitch),這些虛擬交換機最終成為資料中心網路的重要一環,並在Overlay網路中起到關鍵的作用。

可程式設計性

下一代資料中心網路的另一個關鍵因素是支援可程式設計。為了滿足業務應用敏捷、靈活的需求,同時允許網路通過編排系統或者專門的網路程式進行優化,下一代資料中心網路通過開放RESTful APIs、支援像P4這樣的程式語言像OpenFlow這樣的協議等措施,使網路成為資料中心最重要的一部分。

認識到這一點後,越來越多的企業網路(虛擬的和物理的)採用了雲平臺的(如OpenStack、CloudStack、VMware等)技術架構。在一些需要實時處理網路擁堵和故障的地方,系統自動化配置將取代人工運維。因此,可程式設計性將是下一代資料中心網路成功的關鍵。

自動化與NetOps

可程式設計性整合了網路應用和編排,但網路系統仍然需要大量的配置、監控和更新。即便是在今天,網路工程師仍然需要登入到控制檯訪問裝置的CLI進行操作。許多網路裝置供應商提供的GUI並不成功,網路工程師們不得不回到簡陋的CLI面前日復一日地重複這些工作。

然而我們也看到DevOps在網路方面的影響,有人稱之為NetOps。鑑於Ansible、Puppet和Chef等這類工具令人憤怒的使用體驗,網路工程師們開始用管理伺服器的方式管理網路裝置。因此,下一代資料中心網路解決方案需要支援自動化框架,諸如在網路裝置上執行類Unix系統或者Linux發行版,或者在交換機作業系統上安裝DevOps代理。

故障檢測與視覺化

隨著跨資料中心網路流量的激增以及Overlay技術的應用,提供一個動態的網路流量視覺化功能正在成為下一代資料中心網路的關鍵需求。具有事件通知的高階可程式設計過濾功能已成為網路延遲排障和查詢流量峰值毛刺的剛需。同時,下一代資料中心網路解決方案將不得不支援流量資料採集以便對網路進行排障、優化甚至是分析惡意軟體和網路攻擊。

在三層網路架構(Leaf-Spine ECMP L3 Fabrics)中,特別是對網路延遲特別敏感的服務,確保其網路效能十分重要。視覺化在洞察網路中正在發生的變化方面(甚至是精確到每一個交換機埠的快取利用率方面)起著關鍵的作用。

開放硬體平臺

許多網路運營商在建設下一代資料中心網路的時候都十分關注白盒機和其他開放硬體平臺,有的認為能在硬體方面節省大量的成本(估計節約30%~80%不等)。質量和可靠性的疑慮在大量的白盒機和開放硬體系統被同樣的OEM和ODM廠商批量生產出來並提供給世界上最大的網路供應商使用後便煙消雲散了。特別是現在隨著軟體棧技術的成熟,使用像EdgeCore的白盒裝置值得考慮,像戴爾、華為和HPE等供應商都在售賣白盒解決方案,但是他們的方案還不夠開放。

為企業規劃面向未來的網路

為了適應下一代資料中心網路的發展趨勢,Facebook打造了一個重度使用ECMP的完整的IPv4/IPv6三層網路(參見Facebook的Altoona資料中心設計)。

Facebook是貫徹黑客精神的典範,其發起的OCP專案通過開源硬體驅動了IT基礎設施架構不斷往前發展。如果你是一個高階網路管理人員,你應該對提高網路的敏捷性、可用性以及降低網路的運營成本保持關注。這意味著除了日常的網路管理和運維工作,你應該考慮企業未來網路的規劃。

直面挑戰

Gartner的調查顯示,只有18%的使用者實現了網路自動化。如前文所述,網路自動化在資料中心網路中極其重要,除此之外還有視覺化、可程式設計、標準化、開放硬體等一系列重要的需求。在資料中心網路演進過程中,不能有任何IT技術(包括公有云)的限制或依賴。除此之外,你還會面臨以下羈絆:

  • 厭惡風險、渴望“安全”的心理使得“技術債”滾雪球一般積重難返,網路變得越來越難管理;
  • 許多企業的網路架構設計缺乏敏捷的理念,對網路改進沒有信心;
  • 大多數的網路故障是由於手動更改網路引起的;
  • 網路新技術(如SDN)的引入是供應商灌輸的,但是供應商並不解決文化和人員問題。

更令人沮喪的是,大型的零售商和金融機構正在不斷削減網路部分的預算和支出。Gartner的調查顯示,部分企業網路預算砍掉了一半,有的甚至削減了90%的預算。在缺餉少糧的情況下,改進企業網路只有依賴外部供應商一條路可走了嗎?網路漸進理論認為,不同的網路方案將影響網路的長期可用性。倘若企業不盡早做出決斷,面臨的將是網路開銷長期超支、技術債有增無減以及網路變革緩慢等不利局面。毫無疑問,必須避免這種短視的行為!

兩個方面六個步驟

解決上述難題,需要管理者從人員文化和技術兩個方面著手,通過簡單的六步構建一個面向未來的網路。

文化和人員方面

  1. 啟動一個以應用、業務為核心的網路設計規劃許多企業的業務戰略和網路規劃是脫節的,這種現象亟需改變;在制定網路規劃或者部署的時候要遵循“五個關鍵維度”,新方案的制定最好由非網路技術人員主持,要基於X86平臺構建、避免供應商繫結,不增加額外支出或採用開源技術方案。最重要的是,保證業務和應用驅動網路設計,而非相反。
  2. 不要把雞蛋放進同一個籃子裡在大企業中,網路團隊具有極高的風險規避能力,保守的思想固然能保證業務的正常執行,但也限制了新技術、新思想的生長。長遠看來,反而不利於企業的發展。
  3. 打破組織架構的束縛在大型企業中,胡蘿蔔+大棒的KPI考核制度使得責任邊界的劃分更為重要,技術革新的需求並不如人們想象的強烈。長期以來這種桎梏難以打破,現在對網路團隊來說恰好是一個機會,建議網路團隊從為其他團隊提供網路監控介面開始,鼓勵跨技術部門的協作、培訓甚至團建,在這種網路變革中發揮領導作用。

技術方面

  1. 推動網路自動化如何在公司內部推行網路自動化?首先從一個小專案開始,使用自動化網路技術並建立這種氛圍,接下來的關鍵是在其他專案乃至全公司的專案中擴大這種自動化的氛圍,使之成為長期目標。一些大的企業已經開始使用DevOps的技術,大多數網路裝置供應商都在自己的產品上提供了開放的API,以便使用者在上面開發網路自動化的功能。搭建網路自動化的基礎設定不僅需要工具和供應商的支援,更為重要的是優先對Linux、Python和DevOps的軟體技術和人才進行投資。
  2. 定性你的網路企業網路是一個複雜的分散式系統,資料中心和園區對網路的功能需求差異極大,沒有哪個供應商能應付這種差異。因此建議企業先對自己的網路進行定性,明確自己的特殊需求,多采用標準化的方案以避免供應商繫結。同時,避免外包自己的網路架構設計工作,並跟供應商多傳達自己的長期戰略規劃,確保供應商能滿足自己的功能需求。
  3. 建設可程式設計的網路基礎設施和技能體系任何成功的網路自動化專案無一不是高度依賴其可程式設計網路基礎設施以及相關技術人才的努力。目前,僅有不足15%的企業實現了網路的可程式設計性。這些企業首先從DevOps實踐中普遍受益,而他們的網路供應商的產品也支援可程式設計性,諸如包括開放的API、支援Puppet、Chef和Ansible等自動化工具等。工具和供應商的支援是必要的但不是決定性的,對相關技術人才的培育才是最迫切的。