OpenStack正成爲開源IaaS雲計算平臺的佼佼者,無論是私有云、公有云或者混合雲均可以看到他的身影,而且也開始支撐關鍵生產應用。從OpenStack第六次用戶調研能夠發現,從2013年11月到2015年9月,短短兩年的時間,將生產應用部署在OpenStack上的用戶比例就從32%增長到60%。超過50%的用戶開始將生產應用部署在OpenStack上,隨之4到7層的應用服務就成爲必備的組件。4到7層的應用服務能夠提供進一步的安全、擴展和優化服務來確保關鍵業務應用的安全、高速和高可用。做爲應用交付領域的領頭羊,F5當仁不讓,在業界率先將應用交付服務導入到OpenStack平臺,爲用戶的雲端業務保駕護航。算法
圖1. Openstack的六次用戶調查(n=351)數據庫
1. OpenStack簡介編程
OpenStack是一種雲計算的開源軟件框架,興起於NASA和RackSpace的一個聯合項目,目前由OpenStack基金會管理,通過OpenStack社區推動雲計算的發展。許多IT廠家都基於開源版本定製了本身的OpenStack發行版,增長了支持、諮詢和服務等,爲企業用戶使用OpenStack提供支持。緩存
OpenStack包括不少模塊,這些模塊提供了不一樣的服務來打造雲計算平臺。其中幾個模塊直接和應用交付相關,包括:安全
功能服務器 |
模塊網絡 |
描述架構 |
計算負載均衡 |
Nova框架 |
管理計算資源池,虛擬池和物理池均可以經過該模組管理 |
網絡 |
Neutron |
管理網絡、IP地址和應用網絡服務,包括負載均衡等 |
編排 |
Heat |
經過模板和API來編排其餘的OpenStack模組 |
OpenStack最根本的一個元素就是RESTfulAPI,它能夠用來進行架構組件的配置和自動化。在各類OpenStack的應用場景中,API驅動的編排是不可或缺的,好比:構建多租戶、自服務的雲平臺,亦或創建一個支持DevOps的基礎架構。通過RESTfulAPI,能夠幫用戶大大縮減應用部署時間,從數週減小到幾分鍾,或者一天內部署數百種服務,這是不少用戶上雲平臺的最主要驅動力。要達到這種效率,基礎架構上的全部組件都必須歸到自動化的框架來管理。不少應用必須和應用交付服務綁定才能真正上生產,好比應用安全或者訪問控制等。所以,將應用交付服務和OpenStack的編排集成刻不容緩。
2. OpenStack和應用交付服務集成
OpenStack和應用交付集成後,能夠爲OpenStack上的應用提供生產所需的各類服務。目前,F5的應用交付服務能夠通過兩種方式集成到OpenStack框架中:一是通過Neutron加載負載均衡服務2.0(LBaaSv2.0),二是通過Heat進行編排。固然F5也支持LBaaSv1.0和Neutron的集成,可是自從OpenStack Liberty版本發布後,OpenStack社區就棄用了v1.0的API。這是爲什麼我們建議客戶遷移到LBaaSv2.0上來,因爲最新的OpenStack Mitaka版本都已經發布了。
2.1LBaaS
NeutronLBaaS提供了基本的應用負載均衡,固然只提供通用負載均衡最重要的功能。LBaaS服務交付模式將提供服務的資源從服務自己抽取出來,所以該模式有時被稱爲「雲下部署」(Underthe cloud)。LBaaS通過RESTful API進行管理,租戶能夠通過API呼叫REST進行LBaaS對象創建、更新和刪除等操做,租戶經過API調用來變更在F5負載均衡實例上的配置,從而實現對LBaaS的管理和控制。
F5的LBaaS驅動包括兩個獨立的部分:F5LBaaS插件和LBaaS引擎。F5 LBaaS插件須要安裝在運行Neutron API服務的一臺服務器上,LBaaS引擎(包含驅動)也要安裝在該服務器上。每一個設備服務組(一個集羣中BIG-IP設備的集合)須要一個獨立的代理進程。租戶進行LBaaS的API調用,LBaaS驅動就會收到租戶的任務,LBaaS代理進程就會將該任務翻譯成F5iControl的API調用,從而在BIG-IP設備或虛擬機(VE, Virtual Edition)上去建立或更新配置對象。因爲全部租戶的網絡或VLAN都是相互隔離的,所以在單個BIG-IP實例或HA配置的設備組上,LBaaS驅動能夠爲多個租戶提供服務。在共享BIG-IP實例的環境下,F5LBaaS插件提供了必須的API調用到BIG-IP實例和Nova,來確保每一個租戶的流量只會路由到租戶自身隔離的偵聽對象上。
圖2. 雲下LBaaS部署
2.2租戶隔離
在多租戶環境中,Nova的一個關鍵部分就是確保各個租戶的相互隔離,BIG-IPLBaaS組件利用了BIG-IP多租戶的功能來確保租戶流量的隔離,確保租戶之間的流量沒有相互幹擾。
組件 |
注釋 |
支持網絡覆蓋 |
支持VXLAN和GRE隧道:租戶的流量被徹底封裝到了BIG-IP系統 |
路由域 |
平臺內嚴格定義地址空間,每一個路由域對地址空間和路由信息進行隔離,地址空間能夠在路由域之間複製,從而使得RFC 1918多租戶私有地址易重用 |
隔離分區 |
建立單獨的配置管理,每一個租戶配置包含在一個單獨的管理分區中 |
LBaaS爲OpenStack提供了一個簡單的、API驅動的系統來進行負載均衡服務的部署,爲大量客戶提供基本的負載均衡服務。但API只提供全面應用交付控制器(ADC)功能的一個子集。下表比較了LBaaS和本地BIG-IP服務在一些關鍵的應用交付性能的差別,如協議支持、附加服務、健康監測等。
屬性 |
基於LBaaS的BIG-IP服務 |
原生的BIG-IP ADC服務 |
支持的協議 |
僅支持TCP |
TCP、UDP、SCTP |
7層協議 |
HTTP、HTTPS |
HTTP、HTTP/2、HTTPS、FTP、RTSP、Diameter、FIX、SIP、PCoIP、RDP |
應用層安全 |
無 |
完整的WAF |
網絡層安全 |
無 |
完整的網絡防火牆 |
應用層訪問 |
無 |
完整的認證和SSO能力 |
流量分佈算法 |
3 |
17 |
應用加速 |
無 |
全套的緩存、壓縮和內容處理工具,包括TCP優化 |
健康健康指標 |
3 |
超過20個,包括SMTP、數據庫、SNMP、SIP、 FTP、DNS) |
數據流路徑可編程 |
無 |
F5 iRules可讓用戶徹底控制應用數據的流向 |
2.3 Heat編排服務和模板
OpenStack Heat是基於模板生成應用的編排服務,Heat模板將基礎設施的描述存放在一個或多個文本文件中,Heat服務執行適當的API調用來建立所需的組件。經過使用自定義插件,Heat服務能夠將整個OpenStack擴展到核心模塊以外,爲用戶提供靈活的定製能力。
F5Heat插件可讓Heat模板基於任何BIG-IP設備或VE建立高級的應用交付配置,惟一的要求就是F5Heat插件安裝的服務器可以經過網絡訪問到BIG-IP設備或者VE,固然BIG-IP實例也須要訪問到租戶的實例,雖然BIG-IP實例到租戶的鏈接不是經過Heat插件來管理的。
Heat模板使用一種簡單的標記語言YAML來實現,方便了管理員的閱讀和理解。Heat模板是聲明性設計,也就是說,你只是定義了這些架構組件,最後的執行徹底依賴於底層架構供應商來生成你所定義的配置。Heat模板能夠和F5的iApps模板配合,生成各類復雜的高級應用交付場景。iApp模板能夠重用,只需簡單將相關參數傳遞給指定的應用,就能夠重複生成各類應用配置。若是要使用高級特性的復雜應用交付配置,包括Web應用防火牆、應用加速和高級負載均衡算法等,均可以通過簡單的API調用來實現。
Heat模板能夠和雲端VE或者部署在底層網絡裏的BIG-IP設備相配合,而且BIG-IP設備無需加入Neutron網絡API調用,它只是被當作租戶裏的計算節點看待。下圖展現了兩種不一樣的部署方式。
圖3.基於BIG-IP設備雲上部署
圖4. 基於VE雲上部署
F5Heat插件能夠從F5 Github庫裏獲取,F5 Github庫包含了Heat插件、Heat引擎和Heat模板示例,Heat插件須要安裝在運行Heat引擎的服務器上。
2.4靈活的平臺選擇
F5的應用交付服務能夠通過多種不一樣的平臺實現,包括傳統的BIG-IP設備(含插板式的設備)和VE。VE支持主流的Hypervisor平臺,爲雲端應用交付提供了極大的靈活性。固然,即便客戶選擇了F5幾種不一樣的硬件平臺,而且也部署了VE版本,都不會致使F5的管理複雜化,由於全部F5的應用交付平臺都基於同一的微核心和相同的操做系統,稱之爲TMOS(TrafficManagement Operating System)。
2.5高可用
高可用是一切關鍵業務和網絡系統的必備能力,做爲多年應用交付的領頭羊,TMOS平臺具備強大的HA架構。不管是BIG-IP設備仍是VE均可以單獨部署,也能夠部署成配對HA模式,更可設計爲N路活動設備組,知足在OpenStack裏的各類配置需求,加強OpenStack系統的可用性。
2.6高可擴展性
進入雲端,可擴展性愈來愈重要,BIG-IP通過LBaaS服務確保租戶具備極大的擴展能力,無論是水平還是垂直擴展。好比VIPRION可插板的設計確保了垂直擴展,而通過VE/BIG-IP則輕鬆實現水平擴展,滿足大規模、超大規模的用戶需求。而更爲關鍵的是用戶實際部署實踐,這些纔是擴展能力的實際驗證。
OpenStack生於美國,至今也只有6年光景,但它的發展速度超乎想象。做爲應用交付領域領頭羊的F5已經完成了和國內OpenStack廠商華爲、EasyStack和UnitedStack集成。從LBaaS集成開始,已經在中國開了花,結了果。Openstack整個生態圈全部人的共同努力,必將促進OpenStack在中國的快速發展,也讓基於OpenStack的應用部署再也不孤單,隨時有應用交付服務伺候!