摘要
OpenStack 為NFV的實施提供幫助,但其并非為電信應用而設計
NFV在5個特定方面需要提升,以應對在電信行業的部署
一個開源、多廠商的NFV平臺是促成這一目標的關鍵
對于電信網絡功能虛擬化(NFV)架構而言, OpenStack并不是一個固守現狀的方案。OpenStack是一個開源的云管理技術,可提供任何NFV環境中所需的很多能力。這已在許多電信運營商中激起了極大興趣。
但要實現NFV的所有優勢,運營商需要一個NFV平臺,能夠提供額外的能力以支持分布式的云、增強的網絡控制、生命周期管理和高性能的數據平面。
OpenStack/NFV回顧
2010年,RackSpace 和NASA聯合發布了OpenStack ,這是一個開源的云計算平臺。從那時開始,OpenStack社區得到了極大的發展勢頭,超過200家公司加入進來。
最初,OpenStack本身并非按照運營商需求想法而設計。所以,在2012年,一些主要的電信運營商發起了旨在將虛擬化和云的理念應用于電信領域的活動。
網絡功能虛擬化這一術語正是因此而產生。運營商要求廠商創建虛擬化的網絡功能(VNFs)和NFV平臺,以幫助他們在部署業務時更加靈活便利,并降低設備和運維成本。
為彌補OpenStack和其他相關開源項目的不足,業界主要的相關方在2014年9月以Linux 基金會合作項目的形式創建了“NFV開源平臺”。其目的是為NFV創建一個運營商級的開源的參照平臺。業界各方將共同創建這一平臺以推動NFV的演進并保證一致性、性能以及多個開源組件間的互通性。
目前,針對電信NFV環境,OpenStack在下述5個方面是有所欠缺的:
·分布式
·網絡連接
·自動化的生命周期管理
·NFV架構運營
·高性能數據平面
1. 分布式
在IT的世界里,企業試圖將其數據中心聚合起來以降低成本。但對于NFV而言,這并非總是最佳選擇。很多NFV應用要求低時延的實時響應。NFV應用也需要高可用性和災難生存能力。運營商需要靈活性以便將網絡功能部署在一個分布式的架構上— 無論是網絡核心、城域邊緣、接入甚至可能是客戶側。
圖1. 分布式的NFV架構
OpenStack支持Cell,Region和Availabilities Zone,但這些概念對于NFV需求還不夠。每個OpenStack的Region提供相互隔離的API端點,各Region間沒有協調。典型情況下,一個數據中心中可能有一個或多個Region。Cell組件可提供一個單一的API端點用于匯聚多個Region。
利用Cell,跨Cell的負載分配(“調度”)通過明確的指定或隨機選擇而生成。Cell組件沒有分配機制來基于應用需求選擇最佳的位置。
Horizon GUI每次都被限定在單個區域內。沒有GUI能夠顯示NFV云架構的聚合視圖。OpenStack Glance虛機鏡像管理器也被限定在單個區域。這意味著NFV運營商不得不根據區域的需求手動進行鏡像的部署。
關鍵點:運營商需要一個能夠有效應對NFV架構的平臺,該架構可提供低信號時延和災難生存能力。該架構還必須能夠作為一個單一的分布式的云被管理,提供全局視圖、統計和策略。
2. 網絡連接
VNF根據其網絡需求而千變萬化。由于它們是部署在整個NFV架構上的,NFV網絡的基本需求就是連接,包括數據中心內部的和跨廣域網的。基于安全性考慮,要求不同的網絡功能僅在需要交換數據時才彼此相連,而NFV控制、數據和管理流量應當相互隔離。
由于網絡功能被分解到諸如數據平面組件和一個集中化的控制平面組件中,這些組件間的連接需要保持與傳統的集成式架構同樣的高可靠性,需要有足夠的網絡資源以保證來自其它應用的突發流量不會對NFV應用造成影響。
網絡應當具備相應的彈性對抗設備故障和不可抗災難。時延和抖動會有較多變化,從某些控制和管理系統的數百毫秒,到移動網關和云化RAN的幾個毫秒。
NFV網絡通常包含一個半靜態的物理層架構,還有一個更加動態的overlay網絡層以滿足VNF的需要。Overlay層需要對某些需求做出快速響應,例如業務需求變更和新業務部署。
OpenStack Neutron是OpenStack的網絡組件,提供抽象化能力,例如L2和L3的網絡,子網、IP地址和虛擬化的中間設備。Neutron具備一個基于插件的架構。連接請求發送給Neutron后,被轉發到Neutron中安裝的插件,這些插件用于對當前網絡的細節進行處理。Neutron被限制在一個單一的網絡資源空間內,這些資源通常與一個OpenStack region相關聯。無法直接對多個網絡域進行跨接,并管理WAN的能力。
關鍵點:運營商需要一個平臺來建立和管理局域網和廣域網(LAN and WAN)架構,以可編程模式創建的運營商應用需要這一架構。
3. 自動化的生命周期管理
作為一個基于軟件的方案,NFV一個最大的優勢就是其實現運維流程自動化的能力。包括應用的整個生命周期,從部署到監控、伸縮、故障恢復和升級,直到退出。研究表明,這種自動化能力將使得運營商在某些情況下能縮減超過50%的運維成本(OPEX)。
OpenStack Heat允許用戶創建模板,以組件資源的語言來描述虛擬應用(“stacks”),例如包含嵌入式stack的虛機。早期,Heat模板基于AWS CloudFormation ,但最近,Heat編排模板(HOT)的引入,提供了額外的表達呈現能力。Heat聚焦于定義和部署應用stack,但對生命周期的其他階段,并無特別支持。
OpenStack Solum是一個新項目,被設計用于使云業務更易被購買使用以及集成在開發流程中。它被設計用來提供某些缺失的生命周期自動化功能。通過將OpenStack Ceilometer的評估能力與Heat相結合,在自動伸縮方面已經開展了一些早期的工作。Heat 目前受限于單一的OpenStack領域。
關鍵點:運營商需要一個平臺,不僅能夠對部署和伸縮實現自動化,還要對復雜的運營商應用中的很多其它生命周期運維工作實現自動化,并附帶許多組件功能。
4. NFV架構運維
NFV架構的分布性,跨越運營商網絡上的許多位置 – 而不是少數集中的位置 – 這就帶來一些特有的挑戰,并將影響運維流程和支撐系統。相較于一個集中化的云,NFV的分布式架構意味著,不同位置的云節點的添加、升級、和/或移除將更為頻繁。這些過程將盡可能的在遠端進行,避免跨區的現場支持。
OpenStack TripleO (OpenStack on OpenStack) 是一個對OpenStack家族實驗性的新增功能。該項目旨在使用OpenStack自有的云工具實現OpenStack云的安裝、升級和運維的自動化。TripleO使用Heat在裸機架構上部署OpenStack實例。
關鍵點:運營商需要一個針對分布式NFV架構而特別設計的平臺,該平臺可對復雜的軟件stack部署和升級流程實現自動化。
5. 高性能數據平面
很多運營商網絡的功能(比如深度包檢測、媒體網關、會話邊界控制器和移動核心服務網關以及分組數據網絡網關)目前是基于定制化硬件實現的,為的是獲得更高的處理能力和輸入輸出吞吐量。在商業服務器上以hypervisor運行這些功能會導致10倍 的性能下降。
業界目前正在對新技術加以研究,這些新技術有望提升商業服務器上的數據平面性能,某些情況下甚至接近定制化硬件的水平。
然而,數據平面性能在OpenStacks社區一直是個邊緣化的領域。直到最近,隨著Juno版本的發布,更多的人開始關注數據平面的加速問題。Juno為虛機調用英特爾的Single Root I/O虛擬化技術提供支持。
關鍵點:運營商需要一個平臺,用于管理商業服務器上的高性能數據平面網絡功能。
OpenStack再進一步:現在部署NFV還需要什么?
全球大多數的運營商都在尋找一個基于OpenStack的開放、多廠商的NFV平臺。但正如我們所提到的,OpenStack社區在某些關鍵NFV需求上沒有給予足夠的關注。所缺失的是一個NFV平臺,該平臺要超越OpenStack的范疇,以幫助客戶實現CAPEX和OPEX的削減以及提升業務靈活性的目標。
OpenStack在某些方面仍然處于密集開發的狀態。一旦其成熟,OpenStack的功能將更為穩定和豐富,使其更好的滿足某些領域的NFV需求。然而,它不可能滿足所有需求。
運營商需要一個水平化的NFV平臺來提供:
用于VNF的計算、存儲和網絡資源
一個用于NFV編排(NFVO)的集中化平臺
一個用于管理VNF生命周期的集中化VNF管理器(VNFM)
這一方式使得消除今天多應用形成的豎井式結構成為可能。
本文基于阿爾卡特朗訊/紅帽白皮書 以具備OpenStack特性的CloudBand作為NFV平臺。