開源PaaS評估:OpenShiftvs.CloudFoundry

晚來風急發表於2017-08-02

在整合完成後再更改開源雲開發工具是很困難的事。開發人員和IT員工必須對使用和支援該工具都感到得心應手,並且做好長期使用的準備。這需要對開源工具進行廣泛的研究,以及豐富的評估測試。

雲開發平臺實現的目標都類似,但仍然需要為企業獨特的業務和開發需求選擇合適的平臺。兩種最常見的開源平臺即服務(PaaS)工具是Red Hat公司的OpenShift,以及Pivotal軟體公司的CloudFroundry。要確定哪一個工具更適合,需要評估三個重要的關鍵特性:所支援的程式語言、架構以及如何與第三方工具整合。

OpenShift vs.Cloud Foundry:語言支援和功能

企業希望選擇一個可以支援當前和未來的語言偏好的開源PaaS工具。OpenShift使用模組的概念,又叫做cartridges,支援Java、 PHP、Python、Perl、Node.js,資料庫語言則支援MySQL、MongoDB和PostgreSQL。另外,OpenShift還支援諸如Jenkins和Cron這樣的工具,和包括Oracle業務流程管理套件以及Red Hat Jboss業務規則管理系統(BRMS)。

與此相比,Cloud Foundry對語言的支援是以buildpack的形式或者是用來編譯平臺應用程式的指令碼。這些buildpack包括Java、Node.js、 Ruby、 binary、Go、PHP、Python以及其他。使用者還可以選擇編寫自己的buildpack。

接下來,考慮一個開源PaaS工具裡所需要的基本特性和功能。記住,每種工具都有開源和商業的版本,同時還有託管和本地的不同。例如,Red Hat提供OpenShift線上版和OpenShift企業版,後者是託管在使用者的資料中心。兩者都提供自服務的開發平臺,多語言支援、自動化、協作、容器移植性和對不同雲基礎架構的支援。

Cloud Foundry提供安全性、監控和管理、容器移植性、混合雲支援、自動更新的功能,以及資料庫、分析器和其他中介軟體的服務整合。

架構和整合也很重要

開源PaaS產品通常由多個模組或元件構成,因此IT決策人員要核查每個平臺的系統架構。例如,Cloud Foundry包括一個路由器、認證伺服器、應用生命週期管理器、應用程式執行引擎、服務代理、訊息,以及指標和日誌的元素。

OpenShift使用的架構同Cloud Foundry大相徑庭。它由單個節點組成,以容納應用程式程式碼和服務,同時還有一系列的單獨代理來管理節點和提供服務。除此之外,OpenShift的架構還包括一個訊息系統將節點和代理繫結到一起,並且使用RESTful的API同外部工具整合。

開源開發平臺通常需要同其他工具整合來提供全套的功能。例如,Cloud Foundry通常同以下的平臺工具整合使用:

• Diego執行環境:提供共享記憶體,工作負載排程和不同的容器格式。

• Lattice:一個Pivotal工具用來在一個雲叢集中執行容器化的工作負載。Lattice為Cloud Foundry提供路由,健康度,執行,儲存和日誌的功能。

• Bosh:一個用於雲服務的版本控制,部署和生命週期管理的開源工具。

同樣,OpenShift也整合並依賴於幾個工具,包括RHC客戶端工具,主要用於建立,部署和管理應用,以及使用JBoss Developer Studio建立基於Web的應用。

除了以上提到的開源工具,企業還可以考慮亞馬遜Web服務、Google App Engine和微軟的Azure提供的公有云開發工具。但是當評估任何開源開發平臺時,重要的是對所涉及的組成工具–尤其是那些第三方的產品,要有清醒的認識。

本文作者:談翔

來源:51CTO


相關文章