PaaS 的一個私有云典型應用場景
只要是現有的中間件應用系統,如果系統采用的服務器數量比較多,或是采用中間件平臺實例的數量比較多,都存在 PaaS 私有云模式的需求,通過 PaaS 把中間件平臺虛擬化 ( 池化 ),動態的優化資源,基于 OVF 映像的標準化、快速部署,就可以提高運行效率、提升運營質量。由于目前完整的 PaaS 私有云解決方案實施的案例不多,在此拋磚引玉,描述一個典型而比較完整的 PaaS 的私有云應用場景。
某公司為客戶提供的核心業務,都是基于 IT 系統 ( 比如銀行、電信 )。由于客戶眾多,近千萬的客戶,業務系統多是基于 J2EE 架構的應用,應用龐雜,采用了很多服務器,多是基于不同的 Unix,如 AIX,HP-UX 和 Solaris,而應用服務器也有 WebSphere Application Server, Weblogic Application Server、Tomcat、JBOSS 等。目前的核心業務系統支撐的是全省統一的業務,而各個地市有些本地化的特定需求需要滿足,出于系統的可用性和復雜度考慮,各個地市的本地化需求不在省核心業務系統中實現,而是在單獨的硬件、單獨的軟件上實現,作為獨立的系統而存在。考慮到一個省有 10 多個地市,需要 10 多份本地業務系統。如果按照通常的方式,需要為每個地市配置應用服務器、數據庫服務器、Web 服務器等,并做集群。這就需要大量的服務器,而且由于業務量并不大,服務器的利用率不高。
如果采用 PaaS 的私有云模式,應用中間件以 J2EE 應用服務器為主,通過 PaaS 提供虛擬化的中間件應用平臺給各個地市,由于地市的業務量并不大,不需要獨立的服務器來支持其本地化業務,所有的硬件服務器虛擬化,虛擬機上運行的 WAS/WLS 中間件,并對 WAS/WLS 中間件平臺做虛擬化,使得全省各個地市都來共用這些中間件虛擬平臺。在根據各個地市的業務容量規劃虛擬機的配置和數量之后,部署上線,由虛擬化平臺接管所有 HTTP 請求的路由和應用平臺池的動態分配。據測算,這種模式可以節省 60% 以上的硬件投資,降低 50% 以上的運維工作量。
如下圖為系統原理架構圖:
我們在現有利舊的機器上,或是新購的機器上,部署 IaaS 的硬件虛擬機管理平臺,對存儲、內存、CPU 等虛擬化,并供應出虛擬機。對虛擬機進行邏輯劃分,一類是各個地市的業務平臺,每個地市根據業務需求和業務容量初步分配虛擬機,第二類是公用應用平臺,如 BPM 和 ESB,無需為每個地市專門分配 BPM 和 ESB 平臺,把 BPM 和 ESB 也做成 PaaS 的服務,也即各個地市業務公用的 BPM 和 ESB 引擎,可以進一步節省硬件資源并簡化管理。
圖 13. 私有 PaaS 模式云的場景樣例
通過虛擬機映像打包和拓撲管理,把各個機器的操作系統、應用平臺和應用軟件打包為虛擬映像,并把映像灌入各個虛擬機。
所以用戶的的 HTTP 請求進入應用虛擬平臺,進行分類、排隊和路由,分配到合適的虛擬機的應用平臺進行處理。而虛擬平臺本身也可以在虛擬機上運行。
PaaS 解決方案的未來發展展望
在企業 IT 系統建設中,對于中、大型企業而言,私有云是個發展方向,私有云帶來的業務價值非常明顯,通過 IaaS 私有云模式的硬件細顆粒度化和整合,降低 IT 的硬件投資、運維成本,使得 IT 的投資能夠更多的花費在業務需求的實現上。
在目前 IaaS 的私有云技術已經很成熟,而且應用的越來越廣泛,逐步走向業務價值更大的 PaaS 模式的私有云。對于絕大多數企業的 IT 系統而言,業務應用是最核心 IT 系統,而大多數業務應用都是基于中間件實現的,因此,基于中間件平臺的 PaaS 模式云計算是未來應用平臺的發展方向。
PaaS 模式目前處于基本成熟階段,已經有越來越多的成功應用案例。從解決方案來看,相對非云計算模式的應用平臺,PaaS 首先要解決應用平臺虛擬化的問題,其次要解決 PaaS 云計算模式下的部署復雜、配置工作量大的問題。目前這兩個問題已經得到很好的解決了,完全可以搭建起體現業務價值的 PaaS 模式的云計算。
隨著 PaaS 模式的解決方案應用越來越廣泛和往縱深的方向發展,以下幾個方向會有更大的發展:
PaaS 云計算的安全性,在沒有 PaaS 模式的云計算之前的應用平臺,一般是一個應用一個平臺,或是幾個應用共享一個平臺,應用平臺沒有整合,應用的安全在是各自實現。而在 PaaS 模式下,應用平臺得到整合,應用的安全性也將得到進一步的整合,把應用的安全性獨立出來,納入平臺的安全性。PaaS 模式的云計算將在應用和應用平臺的安全性整合方面有更大的發展,包括應用和安全性的映射。除了應用的安全性,平臺本身的安全性要求比以前更高,包括訪問控制、審計性等,還有防攻擊,應用隔離、平臺隔離等。
PaaS 運行時的管理。PaaS 的云計算是應用平臺的整合,有一定數量的虛擬機和應用平臺,如何可視化的管理應用平臺,提供應用平臺的監控、管理的圖示化的工具,包括運行時的狀態、資源消耗、SLA 指標實時采集等,目前已經有一定的解決方案,但是會往更專業監控管理的方向發展。
根據 PaaS 私有云規模的大小,分別定制橫向基礎公用平臺。大型系列和小型 PaaS 系統對橫向基礎公用平臺的要求不一樣,對于大型系統,每個基礎公用平臺都是專業軟件或系統。對于小規模的 PaaS 私有云,可以提供高度定制的完整解決方案。
================================================
PaaS能將現有各種業務能力進行整合,具體可以歸類為應用服務器、業務能力接入、業務引擎、業務開放平臺,向下根據業務能力需要測算基礎服務能力,通過IaaS提供的API調用硬件資源,向上提供業務調度中心服務,實時監控平臺的各種資源,并將這些資源通過API開放給SaaS用戶。PaaS主要具備以下三個特點:
(1)平臺即服務:PaaS所提供的服務與其他的服務最根本的區別是PaaS提供的是一個基礎平臺,而不是某種應用。在傳統的觀念中,平臺是向外提供服務的基礎。一般來說,平臺作為應用系統部署的基礎,是由應用服務提供商搭建和維護的,而PaaS顛覆了這種概念,由專門的平臺服務提供商搭建和運營該基礎平臺,并將該平臺以服務的方式提供給應用系統運營商;
(2)平臺及服務:PaaS運營商所需提供的服務,不僅僅是單純的基礎平臺,而且包括針對該平臺的技術支持服務,甚至針對該平臺而進行的應用系統開發、優化等服務。PaaS的運營商最了解他們所運營的基礎平臺,所以由PaaS運營商所提出的對應用系統優化和改進的建議也非常重要。而在新應用系統的開發過程中,PaaS運營商的技術咨詢和支持團隊的介入,也是保證應用系統在以后的運營中得以長期、穩定運行的重要因素;
(3)平臺及服務:PaaS運營商對外提供的服務不同于其他的服務,這種服務的背后是強大而穩定的基礎運營平臺,以及專業的技術支持隊伍。這種“平臺級”服務能夠保證支撐SaaS或其他軟件服務提供商各種應用系統長時間、穩定的運行。PaaS的實質是將互聯網的資源服務化為可編程接口,為第三方開發者提供有商業價值的資源和服務平臺。有了PaaS平臺的支撐,云計算[2]的開發者就獲得了大量的可編程元素,這些可編程元素有具體的業務邏輯,這就為開發帶來了極大的方便,不但提高了開發效率,還節約了開發成本。有了PaaS平臺的支持,WEB應用的開發變得更加敏捷,能夠快速響應用戶需求的開發能力,也為最終用戶帶來了實實在在的利益。