《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Cloud Foundry的PaaS云平臺的設計與實現
基于Cloud Foundry的PaaS云平臺的設計與實現
來源:微型機與應用2014年第2期
姜文周,馬明麗,李先毅
(大連理工大學 網絡與信息化中心,遼寧 大連116024)
摘要: 隨著網絡和云計算的快速發展,出現了越來越多的網絡資源,對網絡資源的共享、管理以及按需分配是云計算的一個重要的研究方向。PaaS平臺即服務是云計算的一個重要服務類型,無論是對學校研究還是企業應用都有著很大的吸引力。利用PaaS平臺,可以降低項目開發的成本和周期,還可以提高項目對外提供服務的質量。針對現有的公共PaaS平臺不適合大連理工大學做研究以及使用的狀況,設計并實現了一套基于Cloud Foundry的PaaS平臺。實踐表明,本平臺不僅有效地利用了資源,還使得部署其上的云應用更有彈性。
Abstract:
Key words :

摘  要: 隨著網絡和云計算的快速發展,出現了越來越多的網絡資源,對網絡資源的共享、管理以及按需分配是云計算的一個重要的研究方向。PaaS平臺即服務是云計算的一個重要服務類型,無論是對學校研究還是企業應用都有著很大的吸引力。利用PaaS平臺,可以降低項目開發的成本和周期,還可以提高項目對外提供服務的質量。針對現有的公共PaaS平臺不適合大連理工大學做研究以及使用的狀況,設計并實現了一套基于Cloud Foundry的PaaS平臺。實踐表明,本平臺不僅有效地利用了資源,還使得部署其上的云應用更有彈性。
關鍵詞: PaaS;Cloud Foundry;應用程序部署;私有云平臺

     云計算[1]是一種新的服務模式,由一系列可以動態升級和可被虛擬化的資源組成,這些資源可被所有云計算用戶共享并方便地通過網絡訪問。云計算的服務模式分為3種:由底層硬件或虛擬機資源構建的基礎設施服務(IaaS);構建在云基礎設施上,提供云計算應用服務開發平臺和環境的平臺服務(PaaS);基于云平臺開發的各類應用服務的軟件服務(SaaS)。在這3層架構中,PaaS[2]扮演了一個非常重要的角色,它的本質是一個特殊的網絡資源中心,是一個開放的平臺,通過Web API的形式向外提供服務,這樣應用程序開發人員就無需再考慮硬件資源以及其他所需的服務框架。目前比較流行的PaaS云平臺有Google App Engine、Microsoft Azure Service和Amazon Web Services,但是這些平臺都有一些局限性,比如Google App Engine只允許部署用Java和Python開發的應用程序,Microsoft Azure Service只允許部署使用.NET框架開發的應用程序,這對一些以前遺留的系統來說是不可用的。而且使用公共云存在一些安全隱患,所以,提供一個旨在為校內師生服務的私有云[3]平臺是非常有必要的。高等教育云計算是云計算應用的重要領域,將高等教育建設所必需的基礎設施以及軟件服務由Cloud Foundry[4]集成一個PaaS級的平臺,向學生、實驗室提供以租用為形式的服務。這樣不僅充分利用了學校的資源,還節省了開發一個項目的資金和時間。
1 Cloud Foundry云平臺
    Cloud Foundry是VMware于2011年4月12日推出的業界第一個開源PaaS云平臺,它支持多種框架、語言、運行環境、云平臺及應用服務,這些框架包括Spring for Java、.NET、Ruby on Rails、Node.js、Grails和Scala on Lift,現在又新加了Python、PHP等,大大提高了平臺的靈活性。Cloud Foundry是基于IaaS之上的、支持Cloud Foundry的IaaS平臺可以是Open Stack,也可以是vSphere。與其他的PaaS平臺(Google的Google App Engine、Amazon的Amazon Web Service等)相比,它有更好的靈活性。使用Cloud Foundry可以架構自己的公有云平臺或私有云平臺,是高校架構云平臺的首選。Cloud Foundry是由相對獨立的多個模塊構成的分布式系統,每個模塊單獨存在和運行,各模塊之間通過消息機制進行通信。下面介紹Cloud Foundry中的主要的模塊。
    (1)通信模塊
    如圖1所示,Cloud Foundry是由許多模塊組成的,這些模塊間的通信主要是由NATS實現的。NATS是一款基于EventMachine,使用“發布-訂閱”機制的輕量級消息中間件。EventMachine通過實現Reactor設計模式解決了Ruby語言與生俱來的并發能力不足的問題,也為NATS帶來了良好的并發請求處理能力。NATS不對消息做持久化,所以對消息的匹配和訂閱過程相對高效。例如Router這個組件,其作用是對外部發送進來的請求進行路由,以使整個平臺負載均衡,發送給Router的消息使用的正是NATS。由此可以看出NATS的重要性,它是整個平臺良好運作的基礎。

    (2)應用程序執行模塊
    應用程序的執行是在Dea這個組件上進行的,啟動一個APP時,Dea會下載一個Droplet副本,然后使用這個副本來運行。Droplet是指把一個應用程序的源代碼及Cloud Foundry配置好的運行環境,再加一些控制腳本如start/stop等,全部打包在一起的tar文件。如果一個應用程序要擴展,就會將這個Droplet多復制幾份,然后下載到更多的Dea服務器上運行。
    (3)控制模塊
    控制模塊是由Cloud Controller構成,負責與客戶端交互的服務器端,它收到客戶端發來的指令后發消息給各個模塊,管理整個云的運行,相當于Cloud Foundry的大腦。
2 基于Cloud Foundry的云平臺的設計
2.1 Cloud Foundry服務平臺(CFP)的架構
    Cloud Foundry服務平臺的架構如圖2所示。


2.2 功能分析
    CFP是旨在為以教育和研究為目的的師生提供服務的開發平臺,在這個平臺上集成了眾多的框架與第三方服務,這些框架包括Java Spring、.NET和Ruby on Rails,服務有Mysql、MongoDB、Redis。本平臺有成本低、可擴展性好、服務質量優的特點。CFP架構從下到上主要分為以下幾層:
    (1)硬件設施層
    該層是為整個Cloud Foundry平臺提供硬件設施的保障,包括存儲設備、網絡設備、計算設備等,通過虛擬化整合異構平臺。
    (2)IaaS級平臺
    Cloud Foundry是PaaS級的平臺,自然可以部署在IaaS級的平臺上,在該層上實現了資源的調度、分配,IaaS平臺可以有效地統一管理虛擬資源。CPI接口是封裝了IaaS級的API,通過CPI,PaaS可以調度由IaaS管理的虛擬資源。
    (3)Cloud Foundry應用開發平臺
    PaaS平臺又可分為應用開發平臺、應用運行平臺、數據庫即服務、服務集成平臺、應用中間件平臺、流程服務平臺等,這里所搭建的Cloud Foundry平臺是應用開發平臺[5],是為校內師生開發、部署系統所服務的。這一層平臺是整個架構的核心,師生在申請服務時即可在這一層得到所需的資源。CFP根據用戶上傳的應用程序動態地分配資源,自動匹配應用程序的框架。如果應用程序有連接數據庫的要求,本平臺會根據現有的數據庫服務讓用戶選擇其中的一個。在本平臺上的每一種服務都是可移植的,因而部署在CFP平臺上的系統非常容易遷移。
    (4)用戶訪問層
    本平臺的用戶分為維護CFP平臺的維護人員、開發應用程序的人員和應用程序的最終用戶3種。本文所指的用戶主要是指應用程序開發人員。用戶在向管理員申請到資源后,可用VMC這個客戶端工具把應用程序部署到平臺上,如果用戶想要擴展應用程序的規模,或者要對應用程序進行其他方面的改進,使用這個客戶端工具都是非常方便的。終端用戶通過Browser訪問應用程序,URL地址在部署項目時生成。
3 CFP平臺的管理
    CFP的使用流程如圖3所示。首先,用戶需要登錄Web管理系統實名注冊,提交給管理員審批,通過之后才能申請資源。通過審批之后,就可以用VMC/STS工具把應用程序部署在CFP平臺上了。本平臺會根據用戶上傳的應用程序為其自動分配資源。終端用戶指的是最終使用應用程序的用戶,可以通過Web訪問應用程序,也可以通過移動設備訪問[6]。

 

 

    表1顯示了實際部署在CFP上的兩個應用程序。

    本文從現有的云計算技術出發,根據目前PaaS所面臨的狀況以及高校項目中實際的需求,利用開源的項目Cloud Foundry設計并開發了一套PaaS級服務云平臺,利用本平臺,校內師生可以直接把項目部署在其上,基于本平臺的應用程序易于構建和維護,還可以根據用戶的訪問量和數據存儲需要進行擴展。最后,經過驗證,本平臺確實可以承載多種語言開發的應用程序,并能很好地利用資源,從而達到彈性計算和靈活部署應用程序的目的。
參考文獻
[1] 吳吉義,平玲娣,潘雪.云計算:從概念到平臺[J].電信科學,2009(12):23-30.
[2] Lv Chengtong,Li Qing,Peng Junjie,et al.PaaS:a revolution for information technology platforms[A].2010 International Conference on Educational and Network Technology,2010.
[3] 周詳.私有云構建中資源和數據管理的研究[D].北京:北京工業大學,2012.
[4] Cloud Foundry[EB/OL].[2013-09-17].http://www.cloudfoundry.com/.
[5] LAWTON G.Developing software online with Platform-as-a  service technology[J].Computer,2008,41(6):13-15.
[6] KIBEL S,WATANABE S,KUNISHIMA K,et al.PaaS on  IaaS[C].2013 IEEE 27th International Conference on  Advanced Information Networking and Applications,2013.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲午夜无码久久久久| 91精品免费看| 亚洲国产一区二区a毛片| 人人妻人人澡人人爽超污| 噼里啪啦完整高清观看视频 | 亚洲а∨天堂久久精品| 久久国产成人精品| 中文字幕一区二区三| 一级性生活免费| 97精品伊人久久久大香线蕉| 91精品国产高清久久久久久io| 97色伦图片97综合影院| 91成年人免费视频| a级在线免费观看| 91免费看国产| 菠萝蜜视频入口| 毛片a级毛片免费播放下载 | 97精品国产一区二区三区| 99久久亚洲综合精品成人网| japanese色国产在线看免费| 一级毛片在线观看视频| 中文字幕精品无码亚洲字| 中文字幕亚洲综合久久| aa在线免费观看| 日本电影100禁| 亚洲宅男天堂在线观看无病毒 | 鲤鱼乡太大了坐不下去| 国产美女高清**毛片| www.com欧美| 成人深夜福利在线播放不卡| 久久男人的天堂色偷偷| 欧美在线观看www| 亚洲老妈激情一区二区三区| 精品国产三级a在线观看| 国产三级在线观看免费| 99久热任我爽精品视频| 国产精品免费观看视频| 99在线观看视频免费| 好多水好硬好紧好爽视频| 中文字幕亚洲精品无码| 日本后进式啦啦啦动态|