隨著云計算平臺的優(yōu)勢變得越來越清晰,從IaaS到PaaS似乎是一項比較輕松的工作了。但是,方法各有不同,而找到實施PaaS最好的方法就意味著在三個可能的選項中進行選擇。
市場上有越來越多的聲音在說,應當把云計算服務的等級提升至基礎設施即服務(IaaS)以上。按價值鏈的先后順利來說,在云計算的層次結構中緊隨其后的下一個選擇就是平臺即服務(PaaS)了。與IaaS(即虛擬機托管,并要求用戶提供一個操作系統(tǒng)和中間件)不同,PaaS提供了一個包括軟硬件在內的完整平臺,以供應用程序運行使用。PaaS所提供的服務更多,因此它能給用戶帶來更多的潛在好處。也正是因為這個原因,PaaS供應商們能夠證明他們所提供的服務是與其定價相符的。
PaaS可能是云計算服務從IaaS自然發(fā)展的一個必然產物,但是其具體實施的途徑可能并不止一種。微軟公司的Azure代表了一種途徑,即:利用一個現(xiàn)有的數(shù)據(jù)中心平臺,然后將其在云計算中復制。而實現(xiàn)PaaS的第二種途徑則是通過諸如Cloud Foundry之類的工具來實現(xiàn)的:通過所選擇的工具來開發(fā)你自己的“平臺”,并部署它。而第三種方法則是需要由亞馬遜網(wǎng)絡服務(AWS)支持來實現(xiàn)的,它是通過網(wǎng)絡服務擴展IaaS的方法來創(chuàng)建一個“平臺服務”模式的。從IaaS至PaaS的這三種途徑都有其可取之處,因此在做出決策之前應進一步深入了解其中的更多細節(jié)。
實現(xiàn)PaaS的微軟Azure模式 為了進一步了解PaaS的微軟Azure模式,必須確保你的以云計算為目標的應用程序是正在或者是能夠在數(shù)據(jù)中心內,微軟服務器軟件套件上運行的。因此,這種方法的優(yōu)勢在于,它是與當前的軟件策略相關聯(lián)的;用戶可以很容易地從微軟服務器更新?lián)Q代至Azure,因為云計算的供應商也正是內部部署軟件平臺的供應商。確保兩者之間的同步應當是簡單直接的。
而Azure模式的弱點在于,絕大多數(shù)的數(shù)據(jù)中心服務器平臺并不是以一個單一的形式廣泛部署的。所以,除非客戶本身之前就使用了微軟公司的產品,否則都指向一個平臺是比較困難的,雖然這種方法是可行的。一直以來,微軟公司都拒絕向相關的PaaS競爭對手們開放其Windows 服務器框架,這就意味著一些Azure用戶是受制于微軟公司的。我們還不清楚,微軟將如何打造Azure,將如何把本地功能添加至與Windows 服務器無關的云計算中,例如目前AWS所提供的緩存服務。
PaaS的這個Azure模式的其他示例就是基于Java虛擬機(VM)的云計算平臺了,這是一個可在多個架構上運行的便攜式平臺。亞馬遜等公共云計算供應商所提供的托管Java虛擬機和Java應用程序是能夠在幾乎所有的數(shù)據(jù)中心或桌面系統(tǒng)上運行的。但是,這種方法只有在目標應用程序是使用Java語言開發(fā)時才能有效,而這一點對于大多數(shù)用戶來說是一個非??量痰南拗?。
使用第三方工具開發(fā)PaaS 實施PaaS的第二種方法則更具推廣意義。諸如Cloud Foundry和OpenShift這類的工具可幫助用戶從IaaS入手,通過添加操作系統(tǒng)和中間件工具來開發(fā)一個云計算平臺。通過使用這種方法,用戶就能夠讓應用程序在一個可靠的軟硬件系統(tǒng)上正常運行起來。而用戶和應用程序的生命周期流程都可免于對平臺軟件進行維護。
組合PaaS的問題在于需要搞清楚將由誰來負責平臺鏡像的開發(fā)與維護。一個公共云計算供應商可以使用一個組合工具來開發(fā)一個基于PaaS的平臺,但他們不可能會冒這個風險。供應商將不得不賭上一把,看是否有足夠的應用程序會在這個平臺上運行,從而建立一個可行的市場機會。如果組合工具的靈活性被用于建立多個平臺,那么確保每個平臺實時更新的工作就成為了一個民工活,同時管理成本也會隨之增加。這些任務都會被推給云計算用戶。
用戶自己就可以使用相同的工具來組建一個平臺并在IaaS上運行。如果這些工具可允許用戶自行組織中間件和操作系統(tǒng)組件并讓它們用于應用程序部署,那么用戶將從中受益。當操作系統(tǒng)或中間件發(fā)生變化時,這是一個協(xié)助更新每臺機器鏡像的替代解決方案。事實上,這正是如今平臺組合工具的最大應用。但是,為一個特定平臺找到一個利基市場則又與將該方法廣泛應用于公共PaaS的初衷相違背。
采用平臺服務的方法
最后一個選項就是平臺服務了,這是AWS目前正在實際采用的方法。平臺服務假定PaaS的目標是增加高度云計算優(yōu)化的或云計算特有的服務,并在任何通過URL運行網(wǎng)絡服務的應用程序中支持它們。這種方法是獨一無二的,因為它以針對云計算而特別修改或開發(fā)的應用程序為目標,而不是那些從內部部署中遷移過來的應用程序。
這種方法著眼于未來平臺服務將成為公共云計算服務發(fā)展趨勢的推動因素。平臺服務模式提供了改良的靈活性(就類似于組合平臺模式一樣),但是它會讓新的平臺組件支持有價值的云計算應用程序功能。
其中行不通的一點是,用戶必須對他們的機器鏡像進行維護,因為這一模式并不托管操作系統(tǒng)或中間件。增加一個組合平臺工具(如Cloud Foundry)來管理這些元素就能夠幫助用戶解決這個問題。
從理論上來說,一家諸如AWS這樣的公共云計算供應商可提供如此之多的平臺服務以至于它可高效地定義一個云計算操作系統(tǒng)。如果這樣做了,同時也提供了為當前平臺開發(fā)云計算操作系統(tǒng)相同的特殊開發(fā)工具來進行應用程序開發(fā),那么內部部署平臺供應商可能就會決定支持它以便于利用新應用程序的優(yōu)勢。然后,云計算就算實施完成了,它實現(xiàn)了從云計算適應內部部署平臺到內部部署平臺適應云計算的市場轉移。