将应用交付服务引入到OpenStack-【中国IC微专栏】2016.6.16
OpenStack正成為開(kāi)源IaaS云計(jì)算平臺(tái)的佼佼者,無(wú)論是私有云、公有云或者混合云都可以看到他的身影,并且也開(kāi)始支撐關(guān)鍵生產(chǎn)應(yīng)用。從OpenStack第六次用戶(hù)調(diào)研可以發(fā)現(xiàn),從2013年11月到2015年9月,短短兩年的時(shí)間,將生產(chǎn)應(yīng)用部署在OpenStack上的用戶(hù)比例就從32%增加到60%。超過(guò)50%的用戶(hù)開(kāi)始將生產(chǎn)應(yīng)用部署在OpenStack上,隨之4到7層的應(yīng)用服務(wù)就成為必備的組件。4到7層的應(yīng)用服務(wù)可以提供進(jìn)一步的安全、擴(kuò)展和優(yōu)化服務(wù)來(lái)確保關(guān)鍵業(yè)務(wù)應(yīng)用的安全、高速和高可用。作為應(yīng)用交付領(lǐng)域的領(lǐng)頭羊,F5當(dāng)仁不讓,在業(yè)界率先將應(yīng)用交付服務(wù)導(dǎo)入到OpenStack平臺(tái),為用戶(hù)的云端業(yè)務(wù)保駕護(hù)航。
圖1. Openstack的六次用戶(hù)調(diào)查(n=351)
1.????OpenStack簡(jiǎn)介
?
OpenStack是一種云計(jì)算的開(kāi)源軟件框架,興起于NASA和RackSpace的一個(gè)聯(lián)合項(xiàng)目,目前由OpenStack基金會(huì)管理,通過(guò)OpenStack社區(qū)推動(dòng)云計(jì)算的發(fā)展。許多IT廠家都基于開(kāi)源版本定制了自己的OpenStack發(fā)行版,增加了支持、咨詢(xún)和服務(wù)等,為企業(yè)用戶(hù)使用OpenStack提供支持。
?
OpenStack包括很多模塊,這些模塊提供了不同的服務(wù)來(lái)打造云計(jì)算平臺(tái)。其中幾個(gè)模塊直接和應(yīng)用交付相關(guān),包括:
功能 | 模塊 | 描述 |
計(jì)算 | Nova | 管理計(jì)算資源池,虛擬池和物理池都可以通過(guò)該模組管理 |
網(wǎng)絡(luò) | Neutron | 管理網(wǎng)絡(luò)、IP地址和應(yīng)用網(wǎng)絡(luò)服務(wù),包括負(fù)載均衡等 |
編排 | Heat | 通過(guò)模板和API來(lái)編排其他的OpenStack模組 |
OpenStack最根本的一個(gè)元素就是RESTfulAPI,它可以用來(lái)進(jìn)行架構(gòu)組件的配置和自動(dòng)化。在各種OpenStack的應(yīng)用場(chǎng)景中,API驅(qū)動(dòng)的編排是不可或缺的,比如:構(gòu)建多租戶(hù)、自服務(wù)的云平臺(tái),亦或創(chuàng)建一個(gè)支持DevOps的基礎(chǔ)架構(gòu)。通過(guò)RESTfulAPI,可以幫用戶(hù)大大縮減應(yīng)用部署時(shí)間,從數(shù)周減少到幾分鐘,或者一天內(nèi)部署數(shù)百種服務(wù),這是很多用戶(hù)上云平臺(tái)的最主要驅(qū)動(dòng)力。要達(dá)到這種效率,基礎(chǔ)架構(gòu)上的所有組件都必須歸到自動(dòng)化的框架來(lái)管理。很多應(yīng)用必須和應(yīng)用交付服務(wù)綁定才能真正上生產(chǎn),比如應(yīng)用安全或者訪問(wèn)控制等。因此,將應(yīng)用交付服務(wù)和OpenStack的編排集成刻不容緩。
2.? OpenStack和應(yīng)用交付服務(wù)集成
OpenStack和應(yīng)用交付集成后,可以為OpenStack上的應(yīng)用提供生產(chǎn)所需的各種服務(wù)。目前,F5的應(yīng)用交付服務(wù)可以通過(guò)兩種方式集成到OpenStack框架中:一是通過(guò)Neutron加載負(fù)載均衡服務(wù)2.0(LBaaSv2.0),二是通過(guò)Heat進(jìn)行編排。當(dāng)然F5也支持LBaaSv1.0和Neutron的集成,但是自從OpenStack Liberty版本發(fā)布后,OpenStack社區(qū)就棄用了v1.0的API。這是為什么我們建議客戶(hù)遷移到LBaaSv2.0上來(lái),因為最新的OpenStack Mitaka版本都已經(jīng)發(fā)布了。
2.1LBaaS
NeutronLBaaS提供了基本的應(yīng)用負(fù)載均衡,當(dāng)然只提供通用負(fù)載均衡最重要的功能。LBaaS服務(wù)交付模式將提供服務(wù)的資源從服務(wù)本身抽取出來(lái),因此該模式有時(shí)被稱(chēng)為“云下部署”(Underthe cloud)。LBaaS通過(guò)RESTful API進(jìn)行管理,租戶(hù)可以通過(guò)API呼叫REST進(jìn)行LBaaS對(duì)象創(chuàng)建、更新和刪除等操作,租戶(hù)通過(guò)API調(diào)用來(lái)變更在F5負(fù)載均衡實(shí)例上的配置,從而實(shí)現(xiàn)對(duì)LBaaS的管理和控制。
F5的LBaaS驅(qū)動(dòng)包括兩個(gè)獨(dú)立的部分:F5LBaaS插件和LBaaS引擎。F5 LBaaS插件需要安裝在運(yùn)行Neutron API服務(wù)的一臺(tái)服務(wù)器上,LBaaS引擎(包含驅(qū)動(dòng))也要安裝在該服務(wù)器上。每個(gè)設(shè)備服務(wù)組(一個(gè)集群中BIG-IP設(shè)備的集合)需要一個(gè)獨(dú)立的代理進(jìn)程。租戶(hù)進(jìn)行LBaaS的API調(diào)用,LBaaS驅(qū)動(dòng)就會(huì)收到租戶(hù)的任務(wù),LBaaS代理進(jìn)程就會(huì)將該任務(wù)翻譯成F5iControl的API調(diào)用,從而在BIG-IP設(shè)備或虛擬機(jī)(VE, Virtual Edition)上去創(chuàng)建或更新配置對(duì)象。由于所有租戶(hù)的網(wǎng)絡(luò)或VLAN都是相互隔離的,因此在單個(gè)BIG-IP實(shí)例或HA配置的設(shè)備組上,LBaaS驅(qū)動(dòng)可以為多個(gè)租戶(hù)提供服務(wù)。在共享BIG-IP實(shí)例的環(huán)境下,F5LBaaS插件提供了必須的API調(diào)用到BIG-IP實(shí)例和Nova,來(lái)確保每個(gè)租戶(hù)的流量只會(huì)路由到租戶(hù)自身隔離的偵聽(tīng)對(duì)象上。
圖2. 云下LBaaS部署
?
2.2租戶(hù)隔離
在多租戶(hù)環(huán)境中,Nova的一個(gè)關(guān)鍵部分就是確保各個(gè)租戶(hù)的相互隔離,BIG-IPLBaaS組件利用了BIG-IP多租戶(hù)的功能來(lái)確保租戶(hù)流量的隔離,確保租戶(hù)之間的流量沒(méi)有相互干擾。
組件 | 注釋 |
支持網(wǎng)絡(luò)覆蓋 | 支持VXLAN和GRE隧道:租戶(hù)的流量被完全封裝到了BIG-IP系統(tǒng) |
路由域 | 平臺(tái)內(nèi)嚴(yán)格定義地址空間,每個(gè)路由域?qū)Φ刂房臻g和路由信息進(jìn)行隔離,地址空間可以在路由域之間復(fù)制,從而使得RFC 1918多租戶(hù)私有地址易重用 |
隔離分區(qū) | 創(chuàng)建單獨(dú)的配置管理,每個(gè)租戶(hù)配置包含在一個(gè)單獨(dú)的管理分區(qū)中 |
LBaaS為OpenStack提供了一個(gè)簡(jiǎn)單的、API驅(qū)動(dòng)的系統(tǒng)來(lái)進(jìn)行負(fù)載均衡服務(wù)的部署,為大量客戶(hù)提供基本的負(fù)載均衡服務(wù)。但API只提供全面應(yīng)用交付控制器(ADC)功能的一個(gè)子集。下表比較了LBaaS和本地BIG-IP服務(wù)在一些關(guān)鍵的應(yīng)用交付性能的差異,如協(xié)議支持、附加服務(wù)、健康監(jiān)測(cè)等。
屬性 | 基于LBaaS的BIG-IP服務(wù) | 原生的BIG-IP ADC服務(wù) |
支持的協(xié)議 | 僅支持TCP | TCP、UDP、SCTP |
7層協(xié)議 | HTTP、HTTPS | HTTP、HTTP/2、HTTPS、FTP、RTSP、Diameter、FIX、SIP、PCoIP、RDP |
應(yīng)用層安全 | 無(wú) | 完整的WAF |
網(wǎng)絡(luò)層安全 | 無(wú) | 完整的網(wǎng)絡(luò)防火墻 |
應(yīng)用層訪問(wèn) | 無(wú) | 完整的認(rèn)證和SSO能力 |
流量分布算法 | 3 | 17 |
應(yīng)用加速 | 無(wú) | 全套的緩存、壓縮和內(nèi)容處理工具,包括TCP優(yōu)化 |
健康健康指標(biāo) | 3 | 超過(guò)20個(gè),包括SMTP、數(shù)據(jù)庫(kù)、SNMP、SIP、 FTP、DNS) |
數(shù)據(jù)流路徑可編程 | 無(wú) | F5 iRules可以讓用戶(hù)完全控制應(yīng)用數(shù)據(jù)的流向 |
?2.3 Heat編排服務(wù)和模板
OpenStack Heat是基于模板生成應(yīng)用的編排服務(wù),Heat模板將基礎(chǔ)設(shè)施的描述存放在一個(gè)或多個(gè)文本文件中,Heat服務(wù)執(zhí)行適當(dāng)?shù)?/span>API調(diào)用來(lái)創(chuàng)建所需的組件。通過(guò)使用自定義插件,Heat服務(wù)可以將整個(gè)OpenStack擴(kuò)展到核心模塊之外,為用戶(hù)提供靈活的定制能力。
F5Heat插件可以讓Heat模板基于任何BIG-IP設(shè)備或VE創(chuàng)建高級(jí)的應(yīng)用交付配置,唯一的要求就是F5Heat插件安裝的服務(wù)器能夠通過(guò)網(wǎng)絡(luò)訪問(wèn)到BIG-IP設(shè)備或者VE,當(dāng)然BIG-IP實(shí)例也需要訪問(wèn)到租戶(hù)的實(shí)例,雖然BIG-IP實(shí)例到租戶(hù)的連接不是通過(guò)Heat插件來(lái)管理的。
Heat模板使用一種簡(jiǎn)單的標(biāo)記語(yǔ)言YAML來(lái)實(shí)現(xiàn),方便了管理員的閱讀和理解。Heat模板是聲明性設(shè)計(jì),也就是說(shuō),你只是定義了這些架構(gòu)組件,最后的執(zhí)行完全依賴(lài)于底層架構(gòu)供應(yīng)商來(lái)生成你所定義的配置。Heat模板可以和F5的iApps模板配合,生成各種復(fù)雜的高級(jí)應(yīng)用交付場(chǎng)景。iApp模板可以重用,只需簡(jiǎn)單將相關(guān)參數(shù)傳遞給指定的應(yīng)用,就可以重復(fù)生成各種應(yīng)用配置。如果要使用高級(jí)特性的復(fù)雜應(yīng)用交付配置,包括Web應(yīng)用防火墻、應(yīng)用加速和高級(jí)負(fù)載均衡算法等,都可以通過(guò)簡(jiǎn)單的API調(diào)用來(lái)實(shí)現(xiàn)。
Heat模板可以和云端VE或者部署在底層網(wǎng)絡(luò)里的BIG-IP設(shè)備相配合,并且BIG-IP設(shè)備無(wú)需加入Neutron網(wǎng)絡(luò)API調(diào)用,它只是被當(dāng)做租戶(hù)里的計(jì)算節(jié)點(diǎn)看待。下圖展示了兩種不同的部署方式。
圖3.基于BIG-IP設(shè)備云上部署
圖4. 基于VE云上部署
?
F5Heat插件可以從F5 Github庫(kù)里獲取,F5 Github庫(kù)包含了Heat插件、Heat引擎和Heat模板示例,Heat插件需要安裝在運(yùn)行Heat引擎的服務(wù)器上。
2.4靈活的平臺(tái)選擇
F5的應(yīng)用交付服務(wù)可以通過(guò)多種不同的平臺(tái)實(shí)現(xiàn),包括傳統(tǒng)的BIG-IP設(shè)備(含插板式的設(shè)備)和VE。VE支持主流的Hypervisor平臺(tái),為云端應(yīng)用交付提供了極大的靈活性。當(dāng)然,即使客戶(hù)選擇了F5幾種不同的硬件平臺(tái),并且也部署了VE版本,都不會(huì)導(dǎo)致F5的管理復(fù)雜化,因?yàn)樗?/span>F5的應(yīng)用交付平臺(tái)都基于同一的微核心和相同的操作系統(tǒng),稱(chēng)之為TMOS(TrafficManagement Operating System)。
2.5高可用
高可用是一切關(guān)鍵業(yè)務(wù)和網(wǎng)絡(luò)系統(tǒng)的必備能力,作為多年應(yīng)用交付的領(lǐng)頭羊,TMOS平臺(tái)具有強(qiáng)大的HA架構(gòu)。無(wú)論是BIG-IP設(shè)備還是VE都可以單獨(dú)部署,也可以部署成配對(duì)HA模式,更可設(shè)計(jì)為N路活動(dòng)設(shè)備組,滿足在OpenStack里的各種配置需求,增強(qiáng)OpenStack系統(tǒng)的可用性。
2.6高可擴(kuò)展性
進(jìn)入云端,可擴(kuò)展性越來(lái)越重要,BIG-IP通過(guò)LBaaS服務(wù)確保租戶(hù)具有極大的擴(kuò)展能力,無(wú)論是水平還是垂直擴(kuò)展。比如VIPRION可插板的設(shè)計(jì)確保了垂直擴(kuò)展,而通過(guò)VE/BIG-IP則輕松實(shí)現(xiàn)水平擴(kuò)展,滿足大規(guī)模、超大規(guī)模的用戶(hù)需求。而更為關(guān)鍵的是用戶(hù)實(shí)際部署實(shí)踐,這些才是擴(kuò)展能力的實(shí)際驗(yàn)證。
?
OpenStack生于美國(guó),至今也只有6年光景,但它的發(fā)展速度超乎想象。作為應(yīng)用交付領(lǐng)域領(lǐng)頭羊的F5已經(jīng)完成了和國(guó)內(nèi)OpenStack廠商華為、EasyStack和UnitedStack集成。從LBaaS集成開(kāi)始,已經(jīng)在中國(guó)開(kāi)了花,結(jié)了果。Openstack整個(gè)生態(tài)圈所有人的共同努力,必將促進(jìn)OpenStack在中國(guó)的快速發(fā)展,也讓基于OpenStack的應(yīng)用部署不再孤單,隨時(shí)有應(yīng)用交付服務(wù)伺候!
轉(zhuǎn)載于:https://blog.51cto.com/virtualman/1791194
總結(jié)
以上是生活随笔為你收集整理的将应用交付服务引入到OpenStack-【中国IC微专栏】2016.6.16的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 论坐标系的旋转姿势
- 下一篇: 解决Weblogic 本机可以访问控制台