想要以套裝軟體的方式建置開放原始碼的平臺即服務(PaaS)環境,你有兩種選擇:Cloud Foundry和OpenShift,前者是由VMware和Pivotal發展,後者則是由Red Hat負責,目前可從GitHub網站取得開放原始碼的版本OpenShift Origin,企業也可以購買OpenShift Enterprise的產品來導入,去年6月和11月陸續推出了3和3.1版。

除此之外,這套軟體也有公有雲型態的服務可供租用,Red Hat在2013年推出OpenShift Online,而基於這套公有雲服務的環境下,他們在2015年12月正式推出OpenShift Dedicated--企業可向該公司租用專屬於自己的OpenShift平臺。至此,OpenShift目前總共有4種形式:Origin、Enterprise是套裝軟體,而Online、Dedicated是公有雲服務。

Red Hat對於OpenShift的產品提供形式,目前有三種,包含可用於企業內部環境的Enterprise,以及公有雲線上服務Online與Dedicated。

整合Docker格式的容器,以及Kubernetes資源調度引擎

一般而言,PaaS軟體的主要功能是提供雲端應用程式開發、執行、部署的平臺,開發人員與企業可在設定與管理負擔較低的操作介面下,獲得安全、隨需擴充、支援多租戶服務的IT應用環境,而且,還要能夠支援多種開發人員常用的程式語言與框架。以OpenShift Enterprise為例,目前支援Java、Ruby、PHP等程式開發環境。

PaaS在架構上,也需要與時俱進,就像Red Hat去年推出的第3版OpenShift Enterprise,不只是基於該公司企業級Linux作業系統RHEL 7,更首度整合了Docker格式的容器技術,以及Google所發展的容器資源調度服務Kubernetes,並且整合提供應用系統時的執行環境,以及程式庫,提供給想要自行建置與維護私有雲PaaS環境的企業採用。該公司也強調,這套產品是第一個基於上述軟體環境的大型網站等級企業容器應用平臺(web-scale container application platform)。

而到了11月推出的3.1版,OpenShift Enterprise提升了開發人員對於Docker和Kubernetes的使用方式,本身增加了中介軟體服務,並擴大整合OpenStack。

可因應在程式開發不同階段下的管理需求

針對Container的應用,OpenShift Enterprise 3.1提供了應用程式生命周期管理,當中包含了新的自助式服務工具,開發人員可從多個管道來執行,例如,網頁介面、命令列、整合式開發環境(IDE),同時強化了應用程式自動化組建(application build automation)機制,並開始結合Jenkins CI這套知名的持續整合系統,也增加了自動部署功能,等於從應用程式的開發到上線階段,都可以在這套PaaS系統下進行管理。

OpenShift Enterprise也提供了一套企業級容器基礎架構,強調針對基於容器架構的應用程式開發,提供可信賴的環境,當中也採用了最新發行、而且夠穩定的Docker容器格式標準,以及Kubernetes的資源調度引擎。

未來,這套企業級容器基礎架構也能單獨建置, Red Hat打算在自家的Container產品Atomic Enterprise Platform提供,目前已經內建在該軟體公開預覽版裡面。

OpenShift採用的是微服務架構(microservices-based architecture),執行在Kubernetes叢集之上,資料是以物件方式,儲存在叢集式鍵值儲存庫(reliable clustered key-value store)etcd之內。

架構中的6個紅框是Kubernetes的RHEL節點,節點內可執行多個應用服務,稱為Pod;每個Pod內部是一群相關的Container,包含Docker映像、Container。而且每個Pod可執行多個Docker Container。

最右邊則是Registry,可儲存應用程式的映像。在這之上,是共用儲存區,可提供前端服務使用。

左邊是Master,可針對Kubernetes叢集去調度節點與裡面的應用系統。Master內部包含身分認證的API,也有etcd的鍵值儲存區來存放資料,以及搭配排程器與對應政策來安排節點上的Pod放置,最底部還有管理與遠端複製的控制器,可控管Pod的生命週期--Pod一旦故障,遠端複製的控制器可自動復原與部署新的Pod。

OpenShift架構的另一種呈現方式,可看出Pod、節點、儲存區、Master、Registry之間的關係。

能與JBoss中介軟體服務接軌

新版OpenShift Enterprise的另一個特色,則是中介軟體服務的整合。現在的OpenShift Enterprise,可以存取到Red Hat新推出的多款JBoss Middleware服務,像是JBoss的Fuse、BRMS和Data Grid,而且,這些服務都整合在容器的架構下。

有了這些中介軟體服務,開發人員可以更快建構與整合應用程式,以適應需求的頻繁異動,而且所用的工具是熟悉且有人支援的開放原始碼軟體,可減少過去須耗費時間來緩步提升的狀況,並且能以一致的作法來因應混合式的軟體開發架構。

可橫跨公有雲、私有雲環境的使用,並強化操作與管理介面

此外,提供進階管理功能,也是OpenShift Enterprise 3.1的賣點之一。這部份是透過Red Hat的CloudForms來提供,可針對容器、專案與使用者來應用,並可延伸到多種環境下運作,例如橫跨傳統的VM基礎架構、私有雲與公有雲。

使用者可用圖形化方式,檢視各專案範圍內的不同服務下的Pod數量,可掌握已經部署的Container,並選擇擴大或縮減應用程式的規模。

在使用者操作介面與網頁主控臺方面,OpenShift Enterprise 3.1也有所強化,對於應用程式有更好的控管能力,並能以圖形化的方式呈現應用程式的活動歷程,同時,也內建了事件記錄與效能量測的機制。

開發者可以在網頁介面檢視現行的Pod項目與執行狀態,此外,還能刪除專案、啟動或暫停服務、回復先前的部署、取消程式的組件。

 

若要針對應用程式執行去耦合的作法,OpenShift提供了圖形介面可分離出Container映像、Pod、服務與路由機制。當微服務應用系統逐漸發展,而且變得越來越複雜,透過這種方式,能夠很快地檢視這些元件的關係。

產品資訊:

●原廠:Red Hat(02)7743-2972

●建議售價:廠商未提供

●系統軟體需求:RHEL 7.1或RHEL Atomic Host 7.1.6

●處理器需求:主要伺服器為2顆處理器核心,節點伺服器為1顆處理器

●記憶體需求:皆為8GB

●硬碟容量需求:主要伺服器的檔案系統30GB(主要伺服器),節點伺服器的檔案系統15GB與Docker後端儲存15GB

●支援程式語言、開發框架:Java、Ruby、Node.js、Python、PHP、Ruby、Scala、Go等

●支援JBoss中介軟體服務:JBoss BPM Suite、JBoss BRMS、JBoss Data Virtualization、JBoss EAP、JBoss Unified Push Server、JBoss Web Server

●支援資料庫類型:MySQL、PostgreSQL、MongoDB、SQLite

 

OpenShift簡要介紹

 

 

 

OpenShift 3.1簡要展示

 

 

 


Advertisement

更多 iThome相關內容