新浪推出了自己的雲計算服務平台,和Google一樣,都叫App Engine。根據NIST的定義,Google App Engine屬於PaaS平台型服務,那麼它具體提供什麼樣的服務,新浪推出的Sina App Engine和Google的又有哪些區別呢?

背景

雲計算服務在Google、Amazon等公司成功產品的引領下,正在商業化的道路上大步向前。在NIST的定義中,有三種雲計算服務模型。

  • Software as a Service (SaaS):軟件即服務模型,用戶直接使用構建在雲端的軟件。例如,Google Docs, Salesforce.com
  • Platform as a Service (PaaS):平台即服務模型,用戶使用雲平台所支持的語言和工具,開發應用並部署在雲平台。例如,Google App Engine, Force.com
  • Infrastructure as a Service (IaaS):基礎架構即服務模型,提供處理器、存儲、網絡等(虛擬)硬件資源給用戶,用戶可任意安裝軟件和開發環境,包括安裝操作系統。例如,Amazon EC2, Joyent

可見,三種模型從應用到平台再到架構,越來越底層,用戶得到的可操作性和靈活性也越來越大。

Google App Engine是什麼?

Google App Engine(GAE) 提供一整套開發組件來讓用戶輕鬆地在本地構建和調試網絡應用,之後能讓用戶在Google強大的基礎設施上部署和運行網絡應用程序。配置可隨應用的訪問量和數據存儲需要的增長輕鬆擴展,使用 GAE,將不再需要維護服務器:只需上傳你的應用程序,它便可立即為你的客戶提供服務。

簡單來說,這和虛擬主機服務類似,只是運行環境不同。虛擬主機支持的是ASP, JSP, PHP等網頁應用,而GAE現支持Java、Python和Google自家開發的Go這三種語言開發的應用程序,並為這三種語言提供基本相同的功能和API。

GAE提供大量的免費使用額度和靈活的資費標準。多達 500 MB 的存儲空間,以及可支持每月約 500 萬頁面瀏覽量的足夠的 CPU 和帶寬,完全免費。選擇付費服務則可按需提高相應配置。

功能支持

  • 網址抓取(URL Fetch):訪問互聯網上的資源,抓取檢索數據。
  • 郵件(Mail): GAE可以利用基於Gmail的基礎設施來發送電子郵件。
  • Memcache緩存:高性能的內存緩存保障,對於那些不需要持久性存儲和事務功能的數據(例如臨時數據或從數據存儲區複製到緩存以進行高速訪問的數據)很有用。
  • 圖像操作(Image Manipulation):使用該 API,您可以對 JPEG 和 PNG 格式的圖像進行縮放、裁剪、旋轉和翻轉,還能使用預先定義的算法提升圖片的質量。
  • 計劃任務和任務隊列(Scheduled Tasks & Task Queues):允許將任務計劃為按指定間隔運行,這些任務通常稱為Cron job。另外可以通過在一個隊列插入任務(以Web Hook的形式)來實現後台處理,GAE會根據調度方面的設置來安排這個隊列裡面的任務執行。

管理界面
GAE與Google帳戶集成,進行登錄管理和用戶認證。登錄控制台http://appengine.google.com/

GAE管理平台

GAE管理平台

Sina App Engine是什麼?

Sina App Engine(SAE),是由新浪公司開發和運營的開放雲計算平台。SAE為App開發者提供穩定、快捷、透明、可控的服務化的平台,並且減少開發者的開發和維護成本。和GAE一樣,他們都屬於PaaS平台型雲計算服務。

SAE通過Web Service Pool,提供以PHP+HTTP為基礎的計算中心,這對於一個普通網站來說完全足夠了。這樣一來,大量草根站長就可以使用SAE來當做虛擬主機免費空間,希望開放註冊後新浪能夠有足夠技術和經濟實力支撐住整個平台。

與傳統主機託管服務相比而言,傳統託管面向的是硬件軟件設備,使用者得到的也是設備的使用權;而SAE面向的服務,使用者得到的是服務的使用權。開發者可以在其上通過在線調試、日誌分析、協作共享等功能進行web開發。

最重要的是SAE提供的完整的分布式web服務的解決方案,具有高可靠性,開發者只需專註於應用的功能開發,而不必擔心故障宕機、服務擴容,甚至不用關心主輔同步和讀寫分離,因為所有這些SAE都已經為用戶完整提供。與虛擬主機採用固定計費的方式不同,SAE採用預充值方式,“所付即所用,所付僅所用”,按需付費更加靈活和節省成本,web服務的一切損耗均提供報表查詢和賬單匯總,用戶一目了然。SAE可以為運營節約成本,包括運維成本。

使用SAE雲計算,省錢+高效+可靠。由此可以預見,國內的虛擬主機商可能將因此面臨不小的衝擊。

功能支持

  • PHP運行環境
  • MySQL:分布式數據庫服務,通過RDC提供
  • Memcache:分布式緩存服務
  • Storage:文件存儲服務
  • Cron:定時服務
  • Image:圖像處理服務
  • FetchURL:網頁抓取服務
  • Mail:郵件服務
  • TaskQueue:異步輕量級任務隊列
  • DeferredJob:異步大任務延遲隊列
  • Counter:計數器服務

從上面可以看到,Sina App Engine提供了大部分Google App Engine支持的功能,另外SAE選擇PHP作為首選支持語言,並支持MySQL數據庫。這主要是因為PHP語言在目前國內Web開發的比重最大。未來SAE會考慮支持更多的Web開發語言,如Python、Java等。

在SAE上的所有服務都具有大型分布式系統的高可靠性、高擴展性、易維護性等優點。目前SAE的內核(即Runtime)和大部分服務之間的通訊是採用HTTP REST方式,SAE平台理論上可以對接各種服務,對接的第三方服務和內部服務一樣可以通過在線管理平台進行管理、查看統計配額、計費等。

管理界面
登錄http://sae.sina.com.cn,可以通過Web在線管理平台對應用進行管理。目前可以使用新浪微博帳號登錄,並支持OAuth。

SAE在線管理平台

SAE在線管理平台

SAE和GAE的比較

Sina App Engine Google App Engine
雲計算模型 PaaS PaaS
支持語言 PHP Java、Python、Go
數據庫支持 MySQL 最大5GB 暫不支持
每個帳號可擁有app數量 10個 10個
單app存儲限額 最多10GB,單文件不大於4M 1GB免費,無最大上限
代碼大小 每帳戶不超過100M,單app總代碼不超過50M 單app不超過150MB
綁定域名 需另行申請,備案 支持
免費額度 各項服務通過扣除虛擬貨幣“雲豆”實現限額
每日免費發放200雲豆(實名認證後1000雲豆)
每日6.5 CPU-hours,流入流出帶寬各1GB,存儲1GB。
具體額度
超過免費限額的收費標準 1元=100雲豆,暫未支持支付 流入帶寬:0.1美元/GB
流出帶寬:0.12美元/GB
CPU 時間:0.1美元/CPU小時
存儲:0.15美元/GB 每月

在政策的影響下,Google的大部分服務基本上都被牆奸,即使能夠訪問,用戶體驗也差好多。現在國內的企業都在嚷嚷着雲計算,不過一直都是雷聲大,雨點小,多數僅僅是屬於概念炒作而已。而Sina App Engine的出現卻讓人眼前一亮,這個平台如果能夠完善下去,的確可以成為中國雲計算服務的典範。

 

註冊Sina App Engine:http://sae.sina.com.cn/
註冊Google App Engine:https://appengine.google.com/

參考鏈接:
Google官方介紹:什麼是GAE
吳朱華:Google App Engine的簡介
SAE開發者中心:服務總體說明
InfoQ:Sina App Engine數據存儲服務架構