PaaS槍戰(zhàn):Cloud Foundry VS.OpenShift

責任編輯:editor006

2014-08-15 14:19:53

摘自:IT專家網(wǎng)

Cloud Foundry因其廣泛的應用支持和一流的易用性而熠熠生輝,但OpenShift也有著管理和自動化上的優(yōu)勢。OpenShift一個很大的特點是應用程序的自動縮放,當一個應用程序被過度使用時,它可以增加齒輪甚至是節(jié)點。

Cloud Foundry因其廣泛的應用支持和一流的易用性而熠熠生輝,但OpenShift也有著管理和自動化上的優(yōu)勢。

PaaS(平臺即服務)在云生態(tài)系統(tǒng)中占據(jù)了一個有趣的利基市場。它通?;贗aaS(基礎設施即服務)提供的訪問遠程計算資源的能力。IaaS的一個典型例子就是Amazon EC2。

PaaS把基礎設施,存儲,數(shù)據(jù)庫,信息和流程作為服務,提供遠程計算機,磁盤,數(shù)據(jù)庫,信息流,業(yè)務流程或元的應用,所有這些都在一個“堆棧”或捆綁的“沙箱”里。這些應用程序很可能是SaaS(軟件即服務),比如CMS(內(nèi)容管理系統(tǒng))或CRM(客戶關系管理)系統(tǒng)。一旦PaaS的增加值超過IaaS便自動化操作資源和應用程序,節(jié)省了很多的時間。

兩個主要的開源PaaS系統(tǒng)是紅帽的OpenShift和Pivotal的Cloud Foundry。兩者均有三種方式可供選擇:托管,企業(yè)和開源的。在這次回顧中,我主要關注企業(yè)版的,它完全支持并且適用于要在自己的云或數(shù)據(jù)中心運行PaaS的企業(yè)。不過,托管和企業(yè)版都是基于開源的版本。

不要把PaaS系統(tǒng)與配置管理和業(yè)務流程工具混淆,比如Puppet, Chef, Ansible, and Salt。你可以使用Puppet或其他工具建立PaaS或SaaS,或者僅僅用來管理一大堆的服務器配置。 實際上,OpenShift確實使用Puppet,并且它與其他工具兼容。 Cloud Foundry則是使用一種不同的配置管理工具:BOSH。

小差異

Cloud Foundry和OpenShift在能力和對PaaS的方法上頗為相似。而他們所使用的術語和準確的部署方法則不同。兩者的共同點在于:當使用通用的服務如數(shù)據(jù)庫時,每提供一個有輕量級容器的Linux平臺,就可以運行開源語言和框架的應用程序。

對于應用程序源代碼的部署,OpenShift使用的是Git,但它也可以讓你部署二進制包。 Cloud Foundry中只需要你的二進制文件(現(xiàn)在是.WAR文件,其他格式將在之后支持),然后使用buildpack自動將它們組合為語言和框架(如Java和Tomcat)和服務(如數(shù)據(jù)庫)。該buildpack格式是由Heroku發(fā)展而來,它對開源社區(qū)做出了貢獻,并衍生出許多社區(qū)buildpacks,其中大部分工作都是基于Cloud Foundry。

在Cloud Foundry中四個buildpacks是標準的:Java, Node.js, Ruby, 和Go。在大多數(shù)情況下,你需要的開源語言或框架可作為buildpack加載,當運行app是你只會注意到Cloud Foundry命令行上的Git倉庫。如果必要的buildpack沒有現(xiàn)成的,你也可以很容易地在Ruby或其他腳本語言創(chuàng)建它。

OpenShift沒有buildpacks。但是,它擁有墨盒,其中包括數(shù)據(jù)庫以及語言和框架,以及QuickStarts,這都是已經(jīng)為你配置應用程序代碼和庫。

 

Test Center Scorecard

 

 

20%

20%

20%

15%

15%

10%

 

Pivotal CF 1.2

9

8

9

8

7

9

8.4

VERY GOOD

 

20%

20%

20%

15%

15%

10%

 

Red Hat OpenShift Enterprise 2.1

9

9

8

8

9

9

8.7

VERY GOOD

 

OpenShift墨盒是可插拔的組件,可以由一個單一的應用程序組合而成。內(nèi)置墨盒在OpenShift的三個版本中不同,但名單都是廣泛的,雖然僅限于在紅帽企業(yè)Linux(或者Fedora,原產(chǎn)地,OpenShift開源版本)上運行。

QuickStarts代碼和(一個或多個)墨盒的結(jié)合,使其易于安裝整個應用程序。而OpenShift隊不支持QuickStarts,但任何負責保持安全問題的更新都可以自由創(chuàng)建和發(fā)布。像Cloud Foundry中的buildpacks一樣,OpenShift盒和QuickStarts是很容易構(gòu)建的。

OpenShift在稱為齒輪的容器中運行應用程序。 在Droplet 執(zhí)行代理中,Cloud Foundry的運行構(gòu)建和打包應用程序稱為Droplet。在PaaS中,這些容器是分離自其它齒輪或Droplet,相比于虛擬機它們重量較輕。今后,Cloud Foundry和OpenShift都將支持Docker容器。

較大注意事項

Cloud Foundry的一個關鍵不同點——Pivotal的兩個Cloud Foundry樣片。Pivotal 網(wǎng)絡服務和Pivotal CF——支持Pivotal的大數(shù)據(jù)套件,其中包括Pivotal HD(Pivotal的Hadoop發(fā)行版),HAWQ的SQL,GemFire XD分析,和Apache Hadoop的Java框架Spring。Pivotal的大數(shù)據(jù)套件是一個企業(yè)級數(shù)據(jù)倉庫,包括無限Pivotal HD。

據(jù)Pivotal透露,管理員定義的HDFS和MapReduce實例從開始到Pivotal CF需要大約五分鐘準備。一個開發(fā)員或應用程序可以從池中請求一個實例(獲得它大約需要兩秒鐘時間),然后一個新的實例就在后臺被創(chuàng)建。當所請求的實例不再需要,它就被釋放。

Pivotal還提供一種結(jié)合Pivotal CF和Pivotal HD的移動服務套件。它基本上是PivotalPaaS的一個MBaaS(移動后端即服務),用以整合延伸出內(nèi)置在平臺上的移動應用。

OpenShift一個很大的特點是應用程序的自動縮放,當一個應用程序被過度使用時,它可以增加齒輪甚至是節(jié)點。它內(nèi)嵌在OpenShift中,不需要前端縮放服務。你只需創(chuàng)建應用程序時核對盒子,然后就可以配置流量觸發(fā)點、添加和刪除。

同樣,當應用程序沒有得到任何HTTP流量時OpenShift能自動監(jiān)測,最后通過開發(fā)員或者業(yè)務操作將沒有妨礙需求的齒輪清空。當應用程序再次請求的時候,OpenShift會自動加載到內(nèi)存并處理HTTP請求。 OpenShift甚至會自動啟動和重新啟動行為不端的應用程序。所有這些功能都減少了監(jiān)測數(shù)和運行在OpenShift應用工作所需的操作數(shù)。

選擇PaaS

你應該選擇哪一個PaaS的?這取決于很多因素,你的IT部門應該仔細評估。如果應用程序密度是安裝的主導因素,我希望你的團隊選擇OpenShift。同樣,如果你的開發(fā)人員偏重使用Git,他們可能傾向于penShift。另一方面,如果你PaaS集成中,大數(shù)據(jù)和移動服務在優(yōu)先名單上。那么,為了大數(shù)據(jù)和移動服務的需求,你已經(jīng)沒有其他的解決方案,你的團隊可能得選Pivotal CF。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號