標籤:style http ar io os 使用 sp java strong
開源平台即服務(PaaS)讓廣大開發人員和使用者可以貢獻及共用原始碼和擴充件。有的PaaS由廠商驅動,有的則基於標準。
廠商驅動的開源PaaS讓廣大開發人員和使用者被某家廠商牢牢鎖定。說到將應用程式從廠商驅動的開源平台傳送到另一個平台,開發人員在這方面的控制權很有限。
基於標準的開放平台則與廠商無關,比較靈活;它旨在對生命週期管理的自動化過程的編排實現標準化。開發人員可以跨雲傳送應用程式。
下面不妨看一下五種流行的開源平台。請注意:並非所有這些平台都與OpenStack協同運行。
廠商驅動的開源PaaS
Cloud Foundry(原先由VMware開發)從廣大Ruby開發人員和使用者處獲得原始碼。這個開源PaaS允許人們將資訊系統部署到OpenStack、亞馬遜網路服務(AWS)、vSphere、vCloud Air和vCloud Director。Cloud Foundry提供的主機託管服務包括:MySQL(可用於開發SaaS應用程式)、 MongoDB(一種NoSQL資料庫)和RabbitMQ(以非同步方式串連應用程式的訊息代理)。為了簡化任務,PaaS開發人員獲得諸多工具,比如命令列工具、Eclipse外掛程式、構建整合工具以及應用程式擴充工具。與Cloud Foundry競爭的平台還有AppScale、Heroku、OpenShift和Google應用引擎(Google App Engine)。注意:2014年12月9日,Cloud Foundry基金會宣布,它將作為一個Linux基金會協作項目來加以管理。
OpenShift(紅帽)在私人雲端(OpenShift Enterprise)、公用雲端(OpenShift Online)和上遊社區(通過OpenShift Origin項目)中運行。OpenShift託管運行MySQL和MongoDB;OpenShift支援的其他資料庫包括PostgreSQL和微軟SQL。這個開源PaaS在紅帽企業級Linux上運行,為你提供了一套客戶(命令)工具集。你可以使用JavaScript、Ruby、Python、PHP、Perl和Java。OpenShift在OpenStack上運行。
Stackato(ActiveState)是基於Cloud Foundry的PaaS。你可以從Stackato的應用程式商店選擇開源項目,而不是貢獻原始碼。你可以瀏覽用各種語言和架構編寫而成的眾多開源項目。為了快速部署,你只要點擊某個項目。
如果你很好奇,可以查看某個項目的原始碼,看看它是如何構建的。你可以決定是定製項目,還是使用自己的應用程式。
Stackato有三個版本可用:
- Stackato Micro Cloud:假設你想把應用程式部署到案頭虛擬機器上,或者在亞馬遜EC2沙箱上試一試Micro Cloud。你僅限於4 GB記憶體、單一節點和基於社區的支援。
- Stackato Cluster:假設你是小型團隊的負責人,想構建小型叢集,把應用程式部署到自己的基礎設施上或公用雲端上。你僅限於20 GB記憶體和基於社區的支援。你想要多少個節點,就可以有多少個節點。
- Stackato Enterprise:假設貴企業想把應用程式部署到虛擬機器管理程式或基礎設施即服務(IaaS)上,同時可充分利用自動擴充的優點。它提供了配置和生產支援,有服務等級協定(SLA)作為保障。
你可以將Stackato與OpenStack、vSphere、CloudStack、XenServer、KVM、HP Cloud Services和AWS結合使用。
2013年6月,Apache Stratos(由WSO2捐獻)作為一種開源PaaS捐獻給了Apache。它可以與許多應用伺服器、資料庫、語言、甚至遺留系統協同運行。你可以設定分區來控制IaaS資源。WSO2 App Factory可以協助你加快PaaS上的生命週期迭代。
這個平台的貢獻者包括來自SUSE、思科、思傑、美國宇航局噴氣推進實驗室(JPL)、Sungard和Engine Yard的開發人員。你可以將Stratos與AWS、OpenStack和vCloud結合使用。
基於標準的開源PaaS
Cloudify(GigaSpaces)基於OASIS TOSCA(雲應用程式的拓撲結構和編排規範)的草案版本。這項與廠商無關的標準的技術委員會成立於2012年。標準的發起者包括冠群、華為、IBM、NetApp、紅帽和SAP。
這項標準並不依賴任何一家廠商的技術(比如虛擬機器管理程式虛擬化)就可以運行開源PaaS;它描述應用程式的拓撲結構是工作流程的基礎,工作流程反過來充當策略的基本構建模組。
該標準可以處理開發人員手動執行下列任務時所犯的嚴重錯誤:
- 設定監控警報;
- 執行部署策略;
- 收集並分析日誌;以及
- 對照SLA中的服務可用性保障,衡量效能。
為了消除人員的幹預工作,該標準旨在協助PaaS開發人員將生命週期實現自動化,包括跨雲的部署、擴充、補丁、監控和補救。構建並使用開發人員可以使用的雲端服務模組庫,就能實現自動化。
你可以使用PaaS來測試自動化和編排流程執行起來多順暢。Cloudify可以在OpenStack、AWS、CloudStack、微軟Azure和VMware上實現自動部署。
結束語
如果你想貢獻並共用原始碼,可以選擇一種開源PaaS。務必要看一下它能否與OpenStack或其他IaaS雲經濟高效地協同運行。
你應該知道的五種開源PaaS方案