2013年9月25日 星期三

NFV ( Network Function VIrtualization ) 是啥?

最近已經連續了一段時間一直收到NFV的詢問, 但是到底什麼是NFV, 我相信連問我的人可能也搞的不是很清楚. 因為從整個對話的過程中,  我很難找到一個客觀的重點, 多半也還都是在概念性和商業產品中找尋一個可能應對的達陣點. 事實上, NFV跟網絡虛擬化/SDN是不是有密不可分的關係, 可以說有, 也可以說沒有. 因為模糊的交叉區塊實在太模糊, 同時間也跨了硬體/軟體/系統/平台/效能/控制/數據轉發 等等等...... 太多的領域, 實在很難的有系統性的做出一個結論.


基本上, 我在這個主題也算是半個門外漢, 因為這是另一個跨領域多方面的集合. 如果Openstack是管理系統多方面集合的一個架構的話, NFV因該可以說是在網絡功能系統上的多方集合架構的代稱. 當然這個概念主要是由Telecom公司為了長期營運需求上所建構的概念模型. (嚴格來說, 我所收到的request幾乎都是來自於手機服務公司的詢問). 比較積極的電信公司甚至已經開始這方面的投資及試驗. 從最近的消息來看, ATT已經開始在這方面開始了相關工作, 期望未來能夠降低對於私有硬體的依賴. (http://www.bloomberg.com/news/2013-09-23/at-t-shifting-to-lower-cost-software-defined-networking.html )



基本上,  理想的概念是把現行電信網絡服務依賴廠家私有硬體的現況, 轉向虛擬化後至開放硬體或是可自行訂製化的硬體平台. 其實從過去幾年Open Compute Project越來越受到全球業界重視的結果下, 加上新一代的x86 processor 可提供越來越多的功能和效能對於網絡應用改善, 其實這個概念看起來似乎也不是不行. 並且現在ASIC在開發的成本越來越貴及功能支援越來越少, 從這個需求的結果下來看, 電信公司的這個概念也並非是發白日夢而已. 

ps: 2009年我一個在珪谷的朋友就曾經告訴我, CPU將逐步取代FPGA/ASIC的效能優勢, 我當時認為他是神經病, 他告訴我重點在與處理程序的步驟, CPU就可以處理到極好了. 現在看起來是當時我的無知比較多, 深受台灣硬體為上的思想毒害.


近兩年, SDN/Network Virtualization 議題在市場上的快速發展,  讓NFV這個概念看起來似乎有越來越靠譜的趨勢. 但是我個人認為, SDN/Network Virtualization的議題, 只是NFV周圍的附屬技術範圍, 不是主軸. NFV的發展有他一定的背景目的, 並非某些銷售/市場人員為了銷售的浮誇說法,  這也是我不太喜歡跟客戶討論這個議題, 因為我沒有東西可以建議給您. 但是blog上, 我可以比較輕鬆的說出我的想法, 看倌自己思考就好, 沒有Rick的什麼鬼人格保證. 

我看了一下那些是目前電信公司對於NFV比較有興趣的use cases, 看完之後, 我發現這個功能的確是在技術和集成上比較靠譜的方向




如果你可以理解上述所列出的一些常見的use case, 相信您因該可以理解這些功能原本幾乎都是搭設在x86的系統平台之上, 所以porting 到virtual appliance並不是太難的問題. 電信公司為什麼要對這些功能作虛擬化, 不外乎就是商業產品EOS/L的速度太快, 每段時間都需要重新投資相同的功能, 加上空間/能源上的開銷, 讓低毛利的電信服務業需要重新思考快速增長的基礎建設的進化. 所以看到這邊您因該可以理解什麼是 "Network Function" Virtualization, 而不是我們從其他地方延伸過來的"Network Platform Virtualization" 或是 "SDN" base Network. 

我覺得NFV在商業上最大的受益者除了電信公司之外, 另外就是Hypervisor的商業軟件公司. 但是天下沒有白吃的午餐, 上述功能在進行虛擬化的功能, 在功能提供商和商業Hypervisor廠商仍有一連串的相容測試, 效能評估等多重指標需要被衡量. 

但是一旦扯到了服務/功能虛擬化到virtual appliance之後,  為了讓這個架構可以被更順暢的被營運,  很多傳統和較新Cloud概念被需同時間被考量. 在Virtualization的議題之下, 有許多的點我個人覺得是需要被注意的

1) 在每個關於NFV的議題上, Network總是第一個被提出來討論的. 事實上這也是為什麼Network  Virtualization/SDN是這個概念上的附屬議題.  基本上, 我不知道Network Platform Virtualization是否適合在NFV上被提出來討論, 因為Network Virtualization主要的目的是在Cloud Computing的網絡的場景上. NFV所處的環境是否有複雜到跟Cloud Computing一樣, 這個我無法確認,  因為我沒有經驗. 但是就NFV在幾個電信公司所發出的白皮書來看, 他們目前跟ONF的概念合作上是比較密切的, 我覺得或是SDN(openflow hop-by-hop) 可能是現在可以觀察的方向之一. 
2) 效能也是常常被考量的範圍, 就現在比較常見的hypervisor來說, Linux NAPI是常被使用的一個方法, 或是Intel 推出新型的的DPDK架構可能也可以大幅改善效能的表現.  

3) 虛擬化後的虛擬環境管理平台也是一個重點, 並且如果要建構一個大型的NFV環境, 沒有automation 的能力, 要怎麼維運. 

4) OSS/BSS的兼顧和相容, 並竟這是Network Function Virtualization, 不是Cloud DC, 所以功能雖然被虛擬化, 但是對於原本OSS/BSS的support不好有太多的改變. 

5) 安全性, 就是功能被虛擬化之後, 依然需要提供如過去在硬體架構相同及別的安全水平. 但是虛擬化之後,  這方面就變的棘手很多, 透過SDN/Network Virtualization控制這個部分, 可能也是選項之一. 

所以簡單來說,  我認為NFV對於電信公司未來的營運來說,  可能是基礎建設升級的第一步, 畢竟現在很少操作系統不是x86的平台, CPU比ASIC更有效率的時代也逐漸的來臨. 並不知道最後NFV能走多遠,  第二步, 第三步會是什麼樣子, 但是對於已經停擺很久的網絡應用世界來說, 的確是一個有趣的議題, 我也很想看看下一個10年, 是否還能產生另一次的革命!













沒有留言:

張貼留言