平臺即服務允許雲計算架構師們使用他們自己的代碼並作為其首選,而無需提供虛擬機器和管理作業系統,從而降低基礎設施的管理問題。 在一個蓄勢而發的雲計算市場中,不會有人來質疑你為什麼不與PaaS供應商合作,其中的原因都有著細微的差別。
確定正確的PaaS模型是非常重要的,因為只有這樣才能確保你建立一個靈活的、彈性的和便攜的企業雲計算。 因此,哪一種類型的PaaS供應商們應當注意一個特定程式設計語言的平臺、一個與語言無關的平臺或一個跨多個雲計算實現開發和部署的混合PaaS呢?
特定程式設計語言PaaS是否已經過時?
在雲計算的早期階段中,特定程式設計語言平臺即服務(PaaS)供應商並不常見。 例如,供應商們支援JAVA、Ruby以及Python,但並不是一次支援所有框架語言的。 如果你的工作主要使用一種程式設計語言,那麼一個特定程式設計語言PaaS將成為適合你的雲計算開發工具。 特定程式設計語言PaaS的優勢在於,它為客戶提供了超越託管開發環境的專門支援和價值。
Python和JAVA開發人員都有特定程式設計語言PaaS的選項。 一個基於Python的PaaS產品PiCloud.com提供了一個很易於被導入Python程式的庫,從而確保開發人員實現跨雲計算的計算任務分配。 PiCloud不會取代一個開發環境或為客戶提供一個IDE(基礎開發環境)的雲計算替代品。 它為管理人員們所提供的代碼可以確保他們在雲計算中運行他們應用程式中計算密集型的那部分工作。 對於工作物件是大量資料、希望擁有舒適開發環境和需要訪問計算資源的分析師和科學家來說,這是一個理想的選擇。
與程式設計語言無關的PaaS:更多的程式設計語言支援,更多的靈活性
目前而言,多個雲計算平臺混合使用的趨勢已變得越來越明顯。 近期Eucalyptus公司的CEO Marten Mickos竟然公開發表了「LAMP堆疊已死,雲計算是兇手」的言論。 雖然事實情況並非如此,但是與之前相比,堆疊的每一層也變得具有越來越多的多面性。 PaaS供應商們也紛紛效仿;廣大的市場也加入了與程式設計語言無關PaaS的陣營——甚至那些起步于單一框架支援模型的廠商亦是如此。
諸如Cloud Foundry、DotCloud以及Red Hat等PaaS供應商們的服務物件都是那些使用多個程式設計語言的開發人員。 例如,如果你在DotCloud中託管你的應用程式,那麼在你的資料服務層中你就可以使用Postgres、MySQL以及MongoDB等程式設計語言。 多個資料庫協作所需的邊際努力要小得多,因為你無需安裝、管理和維護多個資料庫。
與程式設計語言無關PaaS的優勢在於在逐個案例基礎上實現多個語言和框架協作的靈活性。 你可能無法找到基於語言定制化的相同等級(例如,用於實現跨雲計算伺服器代碼分佈的庫),但是你會發現對用於管理代碼通用開發工具(如Git)的支援。
何時考慮混合PaaS選項
可通過基礎設施即服務(IaaS)模型和內部資源抽象化的方法,來區分另一種類型的PaaS.CloudBee的AnyCloud是一個PaaS產品,它可使使用者能夠在資料中心中管理託管供應商或內部的應用程式工作負載。 使用者可以在Amazon EC2和OpenStack私有雲計算中部署實例,並將其作為單個PaaS和AnyCloud的一部分進行管理。
混合模式也有很多的優點。 例如,想像一下,如果你擁有一個並未實際在雲計算中複製的大規模Oracle資料庫,你需要在內部進行維護。 一個混合PaaS將賦予你從在PaaS環境中運行的程式訪問內部資料的靈活性。
一些混合PaaS模型的潛在優點在於,需要配置和維護抽象層。 某些混合PaaS模型需要一些內部管理努力和專業知識訣竅。
PaaS市場正在逐漸變得高度成熟和細分。 企業應當選擇一個適合開發語言和框架的PaaS模型。 如果你工作中使用單一的程式設計語言並能夠從特定支援中受益,那麼一個特定程式設計語言PaaS模型是一定適合你。 但是,隨著公司的雲計算部署變得越來越複雜,多程式設計語言協作協作和混合堆疊元件的需求也逐漸增加。 在這樣的情況下,多語言和多框架PaaS產品也變得具有重大意義。 當你有一個內部和雲計算的複雜應用程式與資料混合體時,你可能需要找出一個混合PaaS供應商。
(責任編輯:蒙遺善)