OpenStack基金會已為其自身制定了一個野心勃勃的目標: 即充分利用云計算社區中眾多的優秀人才開發出一個強大的、開放的和靈活的軟件套件,這樣一個軟件套件將支持各種不同環境中的云計算,其中包括公有云、私有云以及混合云。
通過使用一個開源開發模式,基金會在兩年不到的時間里已創建了一個在計算、存儲以及網絡中支持關鍵任務的強大基礎分布,以及在資源計量、身份認證和圖形用戶界面(GUI)等方面的重要支持功能——上述所有這些工作都是通過用于集成和擴展的應用程序編程接口(API)完成的。但是,我們并不總是會停下來仔細查看框架中的個別項目進展如何或者這些項目是如何滿足不同客戶具體部署應用的需求的。在本文中,我們來看看OpenStack的網絡服務(即 OpenStack Neutron)在最近Havana發布版本中的具體進展。
OpenStack Neutron簡介
OpenStack網絡的核心理念就是通過多個其他元素(如虛擬機、系統管理模塊以及其他連接的網絡)為用戶提供一組一致性的網絡服務。從本質上講,OpenStack網絡創建了一個一致的邏輯通訊層,而其他元素可以有效地、大規模地使用這個邏輯層。
這一模式是在OpenStack Neutron服務器中實現的,它與OpenStack Nova軟件管理的虛擬機(即計算服務)以及上述提及的其他元素進行交互。用戶通過OpenStack的Horizon GUI與網絡功能進行交互,而其他的管理系統和網絡則通過使用Neutron API與網絡服務進行交互。
Neutron使用RESTful網絡服務和HTTP與其客戶端進行通訊。它使用JavaScript對象表示(JSON)和XML對其運行進行建模。它是專為隨時間推移而實現靈活增加功能的目標而設計的,它可擴展至一系列的部署并使用易于理解的開放式軟件以便于能夠更高效地把多方功能整合至OpenStack網絡環境。請求、響應以及其他的邏輯步驟都有明確的定義,并且這些邏輯步驟都可用于一些必要功能的創建與管理,進而支持網絡服務實施。
在其目前的分布中,OpenStack Neutron混合實施了第二層的VLAN和第三層的路由服務, 它可為所支持的網絡提供防火墻、負載平衡以及 IPSec VPN等擴展功能。網絡中的虛擬機來自于虛擬機管理程序——其中包括KVM、ESX、 XenServer和Hyper-V——它支持設計中的選擇和多功能性。
此外,通過使用支持IPv4和IPv6的強大地址管理功能,Neutron可在一個站點內實現虛擬機的靈活部署。它采用了一個邏輯的子網架構,IP塊表示可以尋址虛擬位置和到達其部署結構中任何的位置。這種結構類似于在眾多Neutron IP組網中所使用的子網技術,它通常是從與子網相關的物理端口抽取出來的。在覆蓋網絡中,它可被用作邏輯關聯機制,以便于為不同用戶和應用程序分離網絡流量。通過使用這種方法,云計算供應商可以分別實現多個租戶的通訊并為不同應用程序部署拓撲,例如多層服務器組合以處理一個整體應用程序的不同部分。
部署OpenStack Neutron三大理由
在Neutron中,這個OpenStack項目已開發了一個強大的虛擬網絡平臺以供各種設計使用。從更廣泛的角度來看,我們可以列舉出使用這一開放覆蓋設計作為開發云網絡服務方法的三個關鍵優勢。
第一,通過對多種虛擬機使用一個一致的方法進行組網,OpenStack Neutron可以有助于供應商在異構環境中實現更高效的運行,這通常也是服務供應商系統中的普遍要求。能夠按照需求在一個通用的網絡基礎上使用KVM、ESX、Hyper-V或XenServer可以簡化這一任務。
第二,通過為在多種底層物理網絡插入提供一組一致的API集,供應商可以在保持云服務邏輯完整性的同時在改變其底層物理網絡設計方面獲得更多的靈活性。很多著名網絡供應商都使用了Neutron API(其中包括Arista網絡公司、Brocade通訊系統公司、思科系統公司、惠普公司、 Juniper網絡公司、NEC公司以及阿爾卡特-朗訊公司的Nuage Networks等)就是最有力的證明。
第三,業務流程和系統管理供應商以及供應商自己的技術團隊都可以使用Neutron API以便于把云網絡管理與多個更高層次的服務管理任務相整合。這就提供了一個廣泛的機會,其中包括服務水平協議監控,以及自動平臺整合,如客戶云計算動態管理的目錄和網站。諸如惠普公司、IBM公司、PLUMgrid公司以及紅帽子公司的介入已驗證了這種方法的魅力所在。
從外部來看,OpenStack Neutron正在將其自身建設成為一個用于開發開放的、靈活的、可擴展的系統環境的強大基礎,供應商可在此基礎上提供響應和基于云計算的差異化服務。