企業級私有云環境下的OpenStack核心技術需求和分析

企業級私有云環境下的核心技術需求有哪些?

  1. 高I/O性能:支持大型企業級應用,以及降低CapEx(爲滿足特定需求,可以投入更少的計算資源)。
  2. 功能簡單、界面直觀:讓企業IT團隊能夠在短時間內掌握基本維護技巧,降低OpEx。
  3. 自動化運維:部署、擴容、監控、告警、自動伸縮,都能通過基本的UI操作全部完成,降低OpEx。

 

那麼要滿足這樣的核心需求,OpenStack-Powered產品該如何設計?

 

1. 界面交互

從用戶角度看,用戶第一眼看到的是什麼?界面!所以界面直觀,讓用戶一眼看到就知道怎麼用。

用戶怎麼樣才能知道如何使用?VMware和Microsoft已經培養好了用戶習慣,我們在界面交互設計時只要模仿即可,

模仿主流產品的界面交互,讓用戶能夠不用培訓就能入手,創建VM,登錄VM,安裝應用,參看和配置監控和告警。

 

2. 功能簡單

如果功能特別複雜,就會導致界面複雜,一層層菜單向下走,而不是一個平面操作,界面交互就不可能簡潔。

所以,界面直觀的一個引申,就是用戶界面的功能要簡單,特別是針對OpenStack,

如果實在無法化簡,有一個實踐可以參考,就是按照用戶常用功能、高級功能,

在用戶登錄後,菜單欄分開成兩個Panel,Simple Operations和Advanced Functions。

Simple Operations:指代正常使用的虛擬化、必須要用到的功能。

Advanced Functions:指代所有可選的雲的高級功能,包括SDN、Backup、Alarming、Auto-Scaling。

 

3. 自動化運維

既然是自動化,則用戶只要簡單配置,甚至不需要配置,就可以達到一個默認大多數用戶都能接受的效果。

 

4. 虛擬化管理模塊如何滿足呢?

大多數功能都是VM管理,所以不需要化簡。

但如果優化的話,儘量在界面上提供能夠一步走到底的Batch Operation,而不是要讓用戶一個個點開操作。

 

5. SDN模塊如何滿足需求?

只要能實現一個穩定的二層控制面,SDN的任務其實就完成了。由於每個客戶的物理網絡環境和對網絡需求

確實千差萬別,需要定製,但實際上選擇面也不是多到難以抉擇。

(1)Provider Network

如果客戶只是最爲簡單的虛擬化管理需求,那麼將Neutron虛擬網絡直接掛接到物理網絡上,實現一個Flat網絡即可。

如果客戶需要網絡隔離,但是也有Admin統一納管,那麼還是使用該技術,指定多個ProviderNet,實現一個帶物理隔離的Flat網絡。

(2)Multi-tenancy Network Isolation

如果客戶方需要對多個部門實現網絡隔離,並且需要能夠自定義網絡,那麼就需要用到VLAN。

如果客戶方規模大到VLAN無法承載,纔要使用VxLAN。

如果客戶方有多個DC,並且二層打通,那麼爲了資源最大化利用,也要使用VxLAN。

(3)DHCP-Agent

如果允許VM直接配置靜態IP,則無需使用DHCP-Agent。

如果使用Provider Network,那麼可以直接在該物理網絡上,啓動外部DHCP Server。

如果需要自定義網絡,則需要DHCP-Agent,目前都能支持Failover和A/A。

(4)L3-Agent

沒事,別找抽,企業私有云一般都不會有NAT的需求,這個是公有云的需求。

沒見過哪個用VMware虛機的企業在內部運維還去配置兩層IP。

實在客戶需要NAT,那麼優先在物理網絡的三層設備上做。

實在要通過SDN運行NAT,則在技術支持條件好的環境下,優先選擇第三方企業級SDN解決方案,比如Midonet、Centec等。

然後再是DVR(前提是啓動L3-Agent HA),最後是DragonFlow(如果其L3 Controller Agent支持HA,則DragonFlow優先於DVR)。

(5)LBaaS-Agent

這個是SPOF,看客戶需求部署。

(6)VPNaaS-Agent

這個是SPOF,看客戶需求部署。

(7)FWaaS

這個是L3-Agent的Extension。

(8)性能

網絡高IO也是核心需求,所以在數據包的轉發面上,、

儘量減少虛擬化,儘量減少Kernel協議棧的干預。

(9)運維複雜度

基於Flow的轉發面的使用,需要引入額外運維的開銷和調試複雜度,比如DVR,Dragonflow等。

 

6. 存儲模塊如何滿足需求?

數據冗餘,然後就是高I/O,高I/O,高I/O。否則很多企業級應用(IO密集型)根本沒辦法跑。

所謂IO密集型應用,主要指代應用過程中產生大量用戶端的實時交易,交易越密集,IO要求越高。

 

7. 計算(虛擬化技術)模塊如何滿足需求?

計算模塊實際上貫穿是一個最爲核心的模塊,無論網絡I/O、存儲I/O,在虛擬化層面上,都要做足優化。

包括CPU多核架構、內存、設備驅動層面。但是這些優化都應該由自動化部署系統去完成,不需要體現在用戶界面上。

 

至於是否在產品中直接使用容器虛擬化,則是另一個話題。因爲容器虛擬化技術本身簡單,但背後需要重構一個App-Centric的

體系,並且企業IT部門也要有一個完全不同的DevOps面貌來支撐這個體系,這個不是短時間內可以落地的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章