版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 聊聊Cloud Foundry開(kāi)源PaaS云平臺(tái) Cloud Foundry是一個(gè)開(kāi)源的平臺(tái)即服務(wù)(PaaS),它提供給開(kāi)發(fā)者自由的去選擇云平臺(tái)、開(kāi)發(fā)框架和應(yīng)用服務(wù)。Cloud Foundry最初由VMware發(fā)起,得到了業(yè)界廣泛的支持,它使得開(kāi)發(fā)者能夠更快更容易的開(kāi)發(fā)、測(cè)試、部署和擴(kuò)展應(yīng)用。Cloud Foundry是一個(gè)開(kāi)源項(xiàng)目,用戶可以使用多種私有云發(fā)行版,也可以使用公共云服務(wù),包括CloudF。 Cloud Foundry讓開(kāi)發(fā)人員專注于編寫(xiě)應(yīng)用程序,而無(wú)需為中間件和基礎(chǔ)設(shè)施分心。在使用自助式高生產(chǎn)力的框架和應(yīng)用服務(wù)的同時(shí),開(kāi)發(fā)人員可以快速在自己的環(huán)境上開(kāi)發(fā)和測(cè)試自己的下一代應(yīng)用,并
2、能部署到云上而無(wú)需做任何更改。 Cloud Foundry的特點(diǎn)主要有以下幾點(diǎn): 1支持公共,私有和混合云上部署。Cloud Foundry支持眾多在私有或者公有基礎(chǔ)設(shè)施上運(yùn)行的合作伙伴的云平臺(tái),包括vSphere /vCloud,AWS,OpenStak,Rackspace,Ubuntu等;還包括CloudF;Micro Cloud Foundry是業(yè)界第一個(gè)可以部署到開(kāi)發(fā)者筆記本上運(yùn)行的PaaS平臺(tái)。 2支持業(yè)界標(biāo)準(zhǔn)框架。這些框架包括Spring for Java,Ruby on Rails和Sinatra,Node.js,Grails,Scala on Lift以及更多合作伙伴提供的框架
3、(例如Python, PHP)。 3支持應(yīng)用服務(wù)。這些應(yīng)用服務(wù)包括RabbitMQ,來(lái)自VMware的vFabric PostgreSQL,MySQL,MongoDB和Redis,以及更多來(lái)自第三方和開(kāi)源社區(qū)的應(yīng)用服務(wù)。 4架構(gòu)可擴(kuò)展。可以使開(kāi)發(fā)人員和架構(gòu)師前瞻性的驗(yàn)證他們的組織架構(gòu)是否適應(yīng)快速的云創(chuàng)新。 5開(kāi)源項(xiàng)目社區(qū)。社區(qū)內(nèi)允許任何開(kāi)發(fā)者訪問(wèn),評(píng)估,和貢獻(xiàn),這包括集成其他框架,增加應(yīng)用服務(wù)和部署應(yīng)用到其它基礎(chǔ)設(shè)施云。 經(jīng)過(guò)不斷的發(fā)展,CloudFoundry的組件增加了很多,但核心組件并沒(méi)有變化,增加的組件是原架構(gòu)基礎(chǔ)上的細(xì)化和專門化,目前Cloud Foundry最新為v2版本。Clou
4、d Foundry平臺(tái)架構(gòu) 從總體上看,Cloud Foundry的架構(gòu)如下圖所示。 CloudFoundry的核心組件主要有Router、Cloud Controller、Services、Health Manager和DEA,以及模塊之間使用的NATS消息通信機(jī)制。這些模塊之間的關(guān)聯(lián)關(guān)系如下圖所示,模塊之間使用NATS或者HTTP等其他的消息機(jī)制進(jìn)行通信。CloudFoundry組件 下面簡(jiǎn)要介紹一下CloudFoundry的核心組件各自在架構(gòu)上的作用。 1Router組件:該組件在CloudFoundry中是對(duì)所有進(jìn)來(lái)的請(qǐng)求進(jìn)行路由。進(jìn)入Router的請(qǐng)求主要有兩類:(1)來(lái)自VMC/C
5、F Client或者STS的,由CloudFoundry使用者發(fā)出的,管理型指令;(2)外界對(duì)所部署的應(yīng)用訪問(wèn)的請(qǐng)求,這部份請(qǐng)求會(huì)被路由到DEA組件中去。 新舊版本的Router架構(gòu)對(duì)比如下圖所示。在老版本中,Router作為一個(gè)nginx腳本存在,所以的請(qǐng)求都必須經(jīng)過(guò)Ruby代碼,然后加以轉(zhuǎn)發(fā),容易引起性能問(wèn)題。在新版本的設(shè)計(jì)中使用了Lua腳本代替原先的Ruby腳本,提高了性能和穩(wěn)定性。 系統(tǒng)可以部署多個(gè)Router共同處理進(jìn)來(lái)的請(qǐng)求,避免單節(jié)點(diǎn)引起性能問(wèn)題,從而使Router組件成為整個(gè)云的瓶頸。Routers組件的主要作用和功能如下:處理所有HTTP流量;從DEAs獲得信息并實(shí)時(shí)更新路由
6、表;維護(hù)分布式路由狀態(tài);將對(duì)URL的訪問(wèn)路由至具體的應(yīng)用;在應(yīng)用實(shí)例之間分發(fā)流量實(shí)現(xiàn)負(fù)載均衡。 2Cloud Controller組件:該組件是Cloud Foundry的管理模塊,與VMC和STS交互的服務(wù)器端,收到VMC或者STS的JSON格式協(xié)議后,寫(xiě)入CloudController Database,并發(fā)消息到各個(gè)??烊タ刂乒芾碚麄€(gè)云。Cloud Controller與Cloud Foundry中其他組件交互如下圖所示: 該組件公開(kāi)了與CLI工具VMC通訊的主要REST接口,以及用于Eclipse的STS插件,并且提供開(kāi)放的Restful接口,可用于第三方應(yīng)用的開(kāi)發(fā)和集成,企業(yè)在用Cl
7、oudFoundry部署私有云時(shí),還可以通過(guò)這些接口來(lái)自動(dòng)化控制管理整個(gè)云環(huán)境。CloudController組件的主要作用和功能如下:處理VMC等指令;管理用戶、應(yīng)用和服務(wù);管理資源;對(duì)應(yīng)用進(jìn)行打包和預(yù)處理;對(duì)外提供REST API接口。 3Health Manager組件:該組件從各個(gè)DEA里面獲取運(yùn)行信息,然后進(jìn)行統(tǒng)計(jì)分析,報(bào)告等。統(tǒng)計(jì)數(shù)據(jù)會(huì)與CloudController的設(shè)定指標(biāo)進(jìn)行對(duì)比,并提供告警等。HealthManager模塊目前還不是十分完善,在代碼結(jié)構(gòu)上,Health Manager模塊放在Cloud Controller的目錄下。Health Manager組件的主要作用
8、和功能如下:監(jiān)控應(yīng)用和服務(wù)的狀態(tài);監(jiān)控到異常狀態(tài),通知Cloud Controller處理;根據(jù)統(tǒng)計(jì)運(yùn)營(yíng)情況,合理分配資源。 4Service組件:該組件是一個(gè)獨(dú)立的、插件式的模塊,便于第三方方便地把自己的服務(wù)整合成Cloud Foundry服務(wù)。在Cloud Foundry中已經(jīng)包含了服務(wù)的框架及核心類庫(kù),如MongoDB、mysql、PostgreSql、RabbitMQ、Redis和vBlob等,并且第三方可以繼承Node和Gateway基礎(chǔ)類來(lái)開(kāi)發(fā)自己的CloudFoundry服務(wù)。Server組件的主要作用和功能如下:提供一個(gè)可擴(kuò)展/擴(kuò)充的層;可被共享;提供服務(wù)API;可將各類應(yīng)用和
9、各類服務(wù)進(jìn)行綁定。 5DEA(Droplet Execution Agent)組件:在老版本的DEA組件中包含了應(yīng)用運(yùn)行時(shí)啟動(dòng)、停止等簡(jiǎn)單命令,并且用戶的應(yīng)用可以隨意訪問(wèn)文件系統(tǒng)。在新版本的DEA組件中增加了Warden Container模塊(一個(gè)程序運(yùn)行容器),這個(gè)容器提供了一個(gè)孤立的環(huán)境,DEA只可以獲得受限的CPU、內(nèi)存、磁盤(pán)訪問(wèn)權(quán)限、網(wǎng)絡(luò)權(quán)限。DEA模塊的新舊版本結(jié)構(gòu)對(duì)比如下圖所示: DEA會(huì)接收Cloud Controller模塊發(fā)送的啟動(dòng)(或者停止)等應(yīng)用管理請(qǐng)求,然后,會(huì)從NFS里面找到合適的Droplet將程序運(yùn)行起來(lái)。最后,DEA把這個(gè)信息告訴Router模塊,還進(jìn)行應(yīng)用程
10、序的統(tǒng)計(jì),并且將應(yīng)用的運(yùn)行信息告訴HealthManager模塊。DEA組件的功能如下:負(fù)責(zé)運(yùn)行所有的應(yīng)用,并確保應(yīng)用程序的隔離;監(jiān)控應(yīng)用的具體運(yùn)行參數(shù),如CPU、內(nèi)存、磁盤(pán)等;提供應(yīng)用狀態(tài)變化的告警等。 6NATS組件:CloudFoundry的架構(gòu)是基于消息發(fā)布與訂閱的,使用NATS組件來(lái)聯(lián)系各個(gè)模塊。NATS是Derek Collison(世界級(jí)中間件和消息系統(tǒng)專家)開(kāi)發(fā)的,是一個(gè)基于事件驅(qū)動(dòng)的輕量級(jí)支持發(fā)布、訂閱機(jī)制的消息系統(tǒng),基于EventMachine開(kāi)發(fā),以事件驅(qū)動(dòng)。新版本的NATS可以支持多服務(wù)器節(jié)點(diǎn),避免了單節(jié)點(diǎn)的NATS導(dǎo)致的系統(tǒng)在HA方面的不穩(wěn)定性。 CloudFound
11、ry的各個(gè)組件是基于消息發(fā)布訂閱機(jī)制構(gòu)建的,每個(gè)節(jié)點(diǎn)上的各個(gè)模塊會(huì)根據(jù)自己的消息類別,向Message Bus發(fā)布多個(gè)消息主題;而同時(shí)也向自己需要交互的模塊,按照需要的信息內(nèi)容的消息主題訂閱消息。NATS組件的主要作用和功能如下:尋址和發(fā)現(xiàn);命令和控制;中央通訊系統(tǒng);支持消息的發(fā)布和訂閱Cloud Foundry環(huán)境部署 Cloud Foundry云環(huán)境的部署方式比較靈活。在運(yùn)行環(huán)境上,可以基于VMware或者OpenStack虛擬化環(huán)境之上,建立Cloud Foundry云環(huán)境;在部署上,可以使用單節(jié)點(diǎn)部署,也可以使用多節(jié)點(diǎn)部署;既可以利用dev_setup實(shí)現(xiàn)單節(jié)點(diǎn)或多節(jié)點(diǎn)的小規(guī)模的環(huán)境部
12、署,也可以使用Bosh實(shí)現(xiàn)大規(guī)模的自動(dòng)化部署;并且在實(shí)驗(yàn)室環(huán)境,還提供了Micro Cloud Foundry單機(jī)版PaaS環(huán)境,用戶可以在上面進(jìn)行應(yīng)用和服務(wù)的在線和離線部署。Cloud Foundry總結(jié) Cloud foundry在運(yùn)營(yíng)商、互聯(lián)網(wǎng)等企業(yè)廣泛應(yīng)用,如:Verizon、AT&T、NTT等運(yùn)營(yíng)商發(fā)布Cloud foundry公有云PaaS平臺(tái);百度是最大的Cloud foundry使用商,此外還有用友、盛大云和京東等互聯(lián)網(wǎng)廠商。 回顧歷史,IBM曾經(jīng)也拋棄SmartCloud封閉架構(gòu)與VMware結(jié)盟(盡管之后收購(gòu)SoftLayer),構(gòu)建Cloud foundry開(kāi)放PaaS平
13、臺(tái),后來(lái)發(fā)布基于OpenStcak+Cloud foundry的BlueMix項(xiàng)目,將其傳統(tǒng)軟件(工具中間件、業(yè)務(wù)流程管理、數(shù)據(jù)庫(kù)和開(kāi)發(fā)等)優(yōu)勢(shì)能力轉(zhuǎn)移至Cloud foundry之上,盡管現(xiàn)在IBM統(tǒng)一品牌為IBM Cloud(摒棄SoftLayer和BlueMix品牌)。 Pivotal Cloud Foundry (PCF) 是一種可以直接部署開(kāi)發(fā)人員寫(xiě)好的應(yīng)用(如Jar或是War包)或已經(jīng)構(gòu)建的容器鏡像的完整平臺(tái),基于Cloud foundry社區(qū)版。它可提供完整的調(diào)度能力實(shí)現(xiàn)這些應(yīng)用負(fù)載,還可提供平臺(tái)輔助服務(wù),如負(fù)載均衡、高可用性、自動(dòng)擴(kuò)展、統(tǒng)一的日志記錄等。 Pivotal Clo
14、ud Foundry廣泛利用容器來(lái)提供服務(wù)并使應(yīng)用負(fù)載保持正常運(yùn)行。雖然Pivotal Cloud Foundry可輕松編排容器,但僅有這項(xiàng)功能不足以使其成為一個(gè)平臺(tái)。Pivotal Cloud Foundry還需要以下子系統(tǒng)配合以協(xié)調(diào)、監(jiān)控和支持這些容器化的有效負(fù)載。Pivotal CF Elastic Runtime Service:一個(gè)完整的,可擴(kuò)展的運(yùn)行環(huán)境,多個(gè)內(nèi)嵌的云服務(wù)。Pivotal CF Operations Manager:企業(yè)級(jí)的管理平臺(tái),以及對(duì)基礎(chǔ)設(shè)施層的集成管理。 Pivotal One商用版本,增加更多的服務(wù),如大數(shù)據(jù)能力和框架(Pivotal HD Service和Pivota
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度書(shū)法作品聯(lián)合創(chuàng)作協(xié)議
- 2024年美團(tuán)合作商家管理協(xié)議樣本
- 2024建筑施工協(xié)議規(guī)范化文件
- 電影公司職員固定期限勞動(dòng)協(xié)議
- 電子廣告屏租賃協(xié)議定制2024
- 二手房交易2024年正式協(xié)議文件下載
- 2024居間購(gòu)房銷售協(xié)議示例
- 矸石采購(gòu)協(xié)議規(guī)范(2024年定制)
- 高等教育學(xué)教材建設(shè)的未來(lái)發(fā)展趨勢(shì)
- 2024地方酒水分銷商代理協(xié)議
- 清理雜樹(shù)雜草施工方案范本
- 【語(yǔ)文】寧波市小學(xué)四年級(jí)上冊(cè)期中試卷
- 環(huán)保設(shè)施安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- MOOC創(chuàng)新創(chuàng)業(yè)與管理基礎(chǔ)(東南大學(xué))
- 【基于活動(dòng)理論的信息技術(shù)課程教學(xué)研究8300字(論文)】
- 年產(chǎn)15萬(wàn)噸PET的生產(chǎn)工藝設(shè)計(jì)-畢業(yè)論文
- 車間生產(chǎn)計(jì)劃完成情況統(tǒng)計(jì)表
- 品管圈(QCC)降低ICU護(hù)士床頭交接班缺陷率課件
- 《左道:中國(guó)宗教文化中的神與魔》讀書(shū)筆記模板
- 施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)規(guī)范
- 同仁堂藥品目錄
評(píng)論
0/150
提交評(píng)論