PaaS領域的五大玩家

PaaS選擇多多

首先,我想我們恐怕需要給平臺即服務(PaaS)下個定義。PaaS環境是雲計算服務平臺,讓開發人員可以構建並管理其Web應用程序,沒必要面臨基礎設施的搭建和維護帶來的複雜性。

或者換而言之:PaaS平臺可以幫助你專注於代碼,而不是管理,那樣你可以構建應用程序,無需為IT任務操心,也無需等待數天準備好服務器以編寫代碼。

為了表明PaaS在實際環境下如何工作,我列出並介紹了本人認為目前市面上的五大PaaS提供商,以及各自的獨特優勢。

谷歌應用程序引擎(Google App Engine)

Google App Engine是一款平臺即服務(PaaS)產品,它讓你可以在谷歌的基礎設施上構建並運行應用程序。App Engine應用程序易於構建、易於維護,你的流量和數據存儲需求發生變化時,還易於擴展。有了App Engine,你就沒必要維護服務器。只要上傳你的應用程序,它就隨時可以使用了。

功能特性:

可以立即在雲端創建並運行一個示例應用程序。

提供了用Python、Java、PHP和Go編寫的初學者代碼(Starter code),重點關注Flask、Django和Bottle等流行的框架。

應用程序在安全的沙盒環境中運行,讓App Engine可以在多臺服務器之間分配請求,並靈活擴展,以滿足流量需求。

你的應用程序在自己的安全、可靠的環境裡面運行,這個環境獨立於服務器的硬件、操作系統或物理位置。

Heroku

Heroku提供了抽象的計算環境,名為dynos。這種環境有兩種形式:Web dynos和worker dynos,前者響應HTTP請求,後者旨在響應任務請求。Heroku與使用十二因子應用(Twelve Factor App)方法構建的應用程序協同運行時效果最好。還可以使用第三方應用程序,它們作為Heroku平臺裡面的服務。

功能特性:

一旦你推送了應用程序的源代碼,Heroku就會獲取你在應用程序中使用的框架和語言所特有的必要依賴項,讓源代碼準備好執行。

默認情況下,Heroku支持Ruby、Node.js、Python、Java和PHP,但也可以通過使用自定義的構建包(buildpack),支持另一種語言。

Heroku讓你可以實現針對特定環境的配置(比如支持服務的登錄信息)的管理和源代碼的管理相互獨立,以提高安全性和移植性。

你可以快速啟用應用程序環境的一次性實例,以運行臨時命令。

AppFog

AppFog是一種多語言、多框架的PaaS,它是構建多個私有云的一種不錯選擇。它支持Java、Ruby、PHP、Python、Node、Scala和Erlang,並提供MySQL、PostgreSQL、Redis、RabbitMQ以及第三方附件。AppFog基於開源的Cloud Foundry平臺,支持Git、SVN和Mercurial等代碼管理系統。

功能特性:

Varnish Cache和操作碼緩存運行應用程序,減輕了服務器負載,提升了性能。

不用再配置服務器、防火牆、Apache和安全系統,也不用再安裝框架。

與Git、SVN和Mercurial之類的代碼管理系統兼容。

可以跨許多地區、數據中心和基礎設施運行。

只訪問你所需要的服務器,並只為你使用的資源支付費用。

Web應用程序技術包括PHP、Node、Ruby、Python和Java。

可以將任何流行的服務添加到你的應用程序中,包括MySQL、PostgreSQL、Redis和RabbitMQ。

Windows Azure雲服務

Azure可以說既是某種基礎設施即服務(IaaS),又是某種PaaS,所以有理由認為它其實不屬於這份名單。然而,Azure又是被Gartner評為是IaaS和PaaS這兩個領域的唯一主要的雲平臺。託管服務和非託管服務的這個強大組合讓你可以以自己喜歡的任何方式,構建、部署和管理應用程序,以獲得無可比擬的工作效率。Azure支持任何操作系統、語言、工具和框架,從Windows到Linux,從SQL Server到Oracle,從C#到Java,不一而足。它讓Windows和Linux生態系統中的精華部分觸手可及,那樣你就可以構建能夠與每個設備兼容的優秀應用程序和服務。

功能特性:

可以在短短几分鐘內配置Windows和Linux虛擬機和應用程序。可以使用Azure中與你在本地使用的同樣的虛擬機和管理工具。

構建和部署面向安卓、iOS和Windows的一系列廣泛的現代應用程序,它們充分利用了雲計算――包括Web、移動、媒體和業務解決方案。可以自動增加或減少資源,以滿足任何要求。

Azure提供了託管SQL和NoSQL數據服務,並提供了內置支持,以便從數據獲得洞察力。可以充分發揮雲端SQL Server的功能,並使用HDInsight來構建Hadoop集群,以便分析數據。

託管用戶帳戶,與現有的本地目錄同步,並且跨Azure、Office 365和數百個流行的軟件即服務應用程序(包括Salesforce、DocuSign、Google Apps、Box、Dropbox及更多)獲得單點登錄功能。

紅帽OpenShift

紅帽OpenShift基於開源應用程序,提供一系列廣泛的語言、數據庫和組件。PaaS可高度定製,提供了三種形式:

OpenShift Online(一種基於雲的託管服務)。

OpenShift Enterprise(一種在你的數據中心中運行的私有PaaS)。

OpenShift Origin(開源應用程序託管平臺)。

OpenShift可以自動化處理諸多系統管理任務,比如虛擬服務器配置、設置和擴展,並支持用於管理代碼的Gi代碼庫。

功能特性:

OpenShift Online

讓你可以專注於代碼和創新,而不是專注於基礎設施的配置和管理,因而縮短了構建和部署應用程序所需的時間。

為你提供了種類多樣的編程語言、框架和運行時環境,包括Java EE6及JBoss EAP。

充分利用開源平臺和基於標準的組件,確保應用程序可移植,並消除了廠商鎖定現象。

集成的開發工具和直觀的界面讓你能夠迅速上手。沒有新的編程模型,沒有應用程序變動,也沒有云鎖定。

OpenShift Enterprise

這是一種本地的私有平臺即服務(PaaS)解決方案,讓你可以更快速地交付應用程序,並滿足貴企業不斷增長的應用程序需求。藉助紅帽公司屢獲殊榮的私有平臺即服務:OpenShift Enterprise,你可以改進開發人員的工作效率,提升運營效率,並提高硬件使用率。

功能特性:

Web控制檯、命令行或集成開發環境(IDE)。

Java(EE6)、Ruby、PHP、Python和Perl。

公共雲、私有云或混合雲。

需要時,可實現應用程序自動擴展。

OpenShift Origin

功能特性:

構建自己的PaaS

支持眾多語言運行時環境和數據層,包括Java EE6、Ruby、PHP、Python、Perl、MongoDB、MySQL和PostgreSQL。

值得注意的其他雲平臺

我覺得寫一篇雲計算方面的文章不能不提到AWS。與Azure一樣,AWS可能也被歸類為既是IaaS,又是PaaS。但是由於亞馬遜的服務範圍已大大拓寬,遠遠超出了PaaS的範疇,我決定本文中不提到它。

我可以為大家推薦的其他服務包括Engine Yard和Caspio。

Engine Yard在AWS上運行其平臺,所以其PaaS價值更多地體現在編排和管理上,而不是體現在提供軟件組件上。

Caspio與其他PaaS提供商有點不一樣,原因在於它並不提供一個功能完備的軟件開發環境,而是致力於將類似數據庫的桌面功能引入到雲端。Caspio是為構建基本數據庫,提供數據錄入表單和報表生成而設計的。


分享到:


相關文章: