IaaS層就服務內容而言更貼近傳統的IDC機房,基本上還是以前IT基礎架構那套東西,只是更加便於管理,更有彈性,(理論上)成本更低。全球最大的IaaS服務提供商是Amazon,北美地區的老二算是RackSpace,微軟的Azure排第三。國內的對應服務,除了以前做IDC的一些企業將自己產品改個名叫做IaaS之外,還有來自互聯網行業的阿裡雲、盛大雲,來自硬件行業的華為雲,來自運營商行業的電信、移動雲,另外還有全國各地的(來自房地產行業的)雲基地。往細了走,有人會把CDN這樣的服務也算作IaaS,那麼國外的Akamai和國內的藍汛這些服務提供商也可以算在其中。
SaaS層是最靠近用戶的一層,以前搞郵件服務、網頁服務、網盤存儲服務的,現在都在往SaaS上面靠。功能上而言其實跟以前沒啥區別,只不過在“雲計算”這一標桿之下,整體的應用規模更為廣泛,服務的反應更加智能(比如能夠定位用戶的地域和語言),服務內容本身也隨著Web技術的發展而更加豐富。除了郵件、網頁、網盤這些老樹開新花的,目前大家比較認可的SaaS在傳統企業級有Salesforce,商業應用級的有包括Google Docs在內的一系列Google Apps,微軟的Office 365等,像是視頻網站、iCloud或App Store、博客、社交網絡這些個人級的,就更加多不勝數。
理論上,如果你有一個服務要提供,那麼購買一些IaaS平台的資源,再將你的服務部署到這個IaaS上面,再把它修改的智能一些,也就相當於是一個DIY的SaaS了。
那麼,PaaS又是做啥的?
PaaS的定義與困局
App Engine,一個頗具Geek氣息的英文詞組。自從Google App Engine問世之後,這個詞組便成為了PaaS的代名詞。從某種意義上來說,GAE不僅定義了一個名稱,還奠定了一個PaaS的基礎:以開發者作為服務對象。服務的層面介於IaaS和SaaS之間,可以理解為一個中間件的服務化。開發者上來這個平台,用Java,Python等語言編寫程序,編寫完成後直接提交代碼完成部署。
下面這個表格列出了目前幾個市場上比較熱的PaaS平台。
服務名稱
背後的廠商
發布時間
支持的語言
備注
Heroku
Salesforce(2010年將其收購)
2007年6月
Ruby、Java、Node.js、Scala、Clojure、Python、PHP
GAE
Google
2008年4月
Python、Java、Go
SAE
新浪
2009年11月
PHP、Java(內測中)、Python(內測中)
BAE
百度
2010年左右開始內測
PHP、Java
尚在內測
OpenShift
紅帽
2011年5月
Ruby、Java、Node.js、Perl、Python、PHP
在2012年開源
Cloud Foundry
VMware
2011年11月
Java、Scala、.NET
以上數據截止到2012年6月
看起來似乎很美好:開發者不再需要糾結什麼環境部署,也不需要運維支持,只要發揮自己的開發才能,就可以創造出新的應用,給全世界的目標用戶使用。但是在現實中,PaaS卻實實在在陷入了一個雞肋的困境:
1、對於開發者而言,使用公共雲首先是為了省錢,而PaaS在理論上總是會比IaaS貴。
2、中小規模的環境部署對一般的開發者而言不是啥難事,大多數開發者也不會每天開一個新環境做新應用,導致PaaS的優勢可有可無。
3、大規模的應用對於底層架構有定制化的要求,PaaS上反而沒有IaaS上那麼容易實現。
三個問題直指PaaS的賣點,這是一方面;而對於PaaS服務提供商而言,則是更加艱難的問題:
1、PaaS在IaaS之上一層,要做的東西更多。單做IaaS的話,拿OpenStack或是一些虛擬化技術改改就行了,而PaaS沒有現成的實現,只能靠自己寫,需要考慮很多資源限制、安全方面的問題;
2、出於雞肋問題第三條,PaaS很難有什麼鯨魚用戶,主要都是中小企業,本來就賺頭少;而出於競爭考慮,PaaS還不能比IaaS賣的貴太多,所以存活注定比較艱難。
以上幾點可以透過數據來驗證。英文網站Smashing boxes上最近有一篇文章,對Heroku和AWS進行了對比;結論是在AWS上用57美元可以購買到的資源,在Heroku上則需要75美元以上,超出了四分之一左右。
文章作者本人是兩個平台的用戶,他最終的建議是:
“小應用上Heroku,大應用上AWS。”
所以,為什麼現在大家都蜂擁上來做IaaS,而做PaaS的就那麼幾家?在上周的北航雲計算公開課上,筆者找到機會向台上的幾位嘉賓提出了這個問題,VMware中國區總裁李嚴冰女士的回答一針見血:
“做IaaS,大家都已經知道了怎麼賺錢;而做PaaS,大家還不知道要怎麼賺錢。”
服務提供方的彷徨並不難理解。以Google為例,GAE自2008年誕生以來,一開始倒是火了一陣子,不過後來就聲音越來越小,以至於眾人開始懷疑是不是在Larry Page回歸之後,GAE也成為了被打入冷宮的產品線之一。本月初,EclipseSource的官方博客上發表了一篇名為“Does Google App Engine still matter?”的文章:
文章大意是說,GAE在業界的“最新消息”還停留在2010年,媒體和用戶的關注度不溫不火,所以Eclipse RAP項目組打算只支持JBoss,Geronimo和Glassfish,同時考慮把OpenShift的權重升高,而GAE的權重降低。
PaaS的出路在哪裡?
前途,不一定是黑暗的
“移動互聯網時代,將是開發者的時代。” ——李彥宏,2012年百度開發者大會
自從進入了移動互聯網時代,業界一個很明顯的趨勢就是:開發者們成了諸多企業爭奪的對象。除去企業花重金招聘開發者之外,各種應用商店、開放平台,也紛紛向資深的、年輕的、男女不限的開發者們拋出橄榄枝。
所以,PaaS定位為開發者服務,其價值潛力是難以估量的巨大。起步時的低迷,也許只是時候未至。
那麼,開發者們需要什麼?
“我們的第一個目標:幫開發者省錢;我們的第二個目標:幫開發者掙錢。”
在跟SAE的產品經理陳理捷(@easy)聊天時,easy對SAE的目標進行了這樣的定義。
省錢這個目標,PaaS在IaaS面前雖然稍顯無力,但也要看場景。SAE當初的誕生和新浪微博的發展有時間上的重合點,在整體新浪的戰略上從內部支持的定位起步。微博應用平台的特點就是大量的小應用,正符合PaaS的特點。截止到發稿時,SAE上托管的應用數量已經超過32萬(數字來自其官網),開發者人數在20萬左右。
根據easy的說法,從2012年年初開始,SAE的PV就已經超越了GAE,每日在數億以上。而在國內的幾家公共雲服務當中,SAE在開發者社區當中也得到了不少肯定,比如馮大輝(@fenng)就在微博上將SAE定位為“幾乎是目前國內最好的 PaaS 平台”。就產品研發和前期運營的角度,SAE的成績已然相當出色。
但是,僅憑這些,尚無法克服PaaS本身的硬傷。當前SAE的人氣背後,有著無數送出去的“雲豆”作為支撐(注:雲豆是SAE平台上用來交換各種計算資源的虛擬貨幣);而easy本人也坦然表示,SAE其實是新浪虧著錢在做。
2012年,正是SAE脫離這個困境的重要一年。這當中的關鍵就是:幫助開發者掙錢。
全球范圍內,幫助開發者掙錢這個領域有兩個最成功的案例:Facebook,以及蘋果的App Store。
國內范圍內,開放平台和應用商店雖然仍擺脫不了破解和山寨的宿命,但畢竟聊勝於無。
從2011年開始,SAE進行了不少嘗試,其中包括:
移動雲平台:開發者可以直接使用SAE上集成的PhoneGap或AppCan進行iOS或Android應用的開發、調試,並支持直接打包開發完畢的Android應用為apk。
應用倉庫:對用戶而言,可以實現一些系統的一鍵安裝,如WordPress、Xweibo、開發框架等;對於開發者而言,則可以借此申請開發者身份,以得到免費雲豆的獎勵。
第三方服務接入:面向企業用戶,功能是對接入的API進行分發、跟蹤監控、計費,SAE抽取20%的費用。
新浪雲商店:面向不懂技術的用戶,其實就是應用倉庫的升級版,在運營方式上進行改變。
嘗試雖然並不全都是樂觀的,但也已經有一些正面的走向。同時,SAE也開始做一些反向的嘗試:
做IaaS。
就在前兩天,SAE宣布將跟微游戲合作,為開發商提供雲主機的服務。
從PaaS轉向IaaS,這是一個有趣的變化。IaaS雖然技術含量比PaaS低,利潤率也低,但因為整體需求量大,相應的交易額也大,同時對硬件資源的消耗也增加很多。既非是新浪戰略級支持,SAE目前能夠申請到的硬件資源並不會十分寬裕,所以這個IaaS服務目前還僅針對幾家微游戲的大客戶,尚沒有對外開放。不過,同時運作PaaS和IaaS會有怎樣的發展,這其中的變局相信會非常有意思。
另一個方向
如果說SAE的方向是消費級領域的Facebook和App Store,那麼VMware的Cloud Foundry與紅帽的OpenShift則代表了PaaS的另一個方向。兩家都是企業級IT服務領域的巨頭,VMware在企業級虛擬化、私有雲領域獨占鳌頭,紅帽則是開源企業IT服務的代表。
有意思的是,來自非開源廠商的Cloud Foundry早在2011年已經開源,比來自開源企業的OpenShift要早了一年,這使得Cloud Foundry占據了不小的優勢。
若說SAE的發展方向是幫助開發者賺錢,那麼Cloud Foundry、OpenShift的價值,則在於提升軟件研發類企業的生產力。好比百度做BAE,從開始做到現在,主要的目的仍然是為了其內部項目的快速開發、部署、測試、上線。如果2009年就有Cloud Foundry或是OpenShift,也許百度就不用自己開發一套PaaS系統了。
至於商業化方面,目前兩家都還沒有走很遠,不過可以選擇的范圍也並不大。企業級IT領域,IBM走賣服務路線,甲骨文走賣一體機路線。開源的PaaS本身是一種增值服務,實際上要賣給用戶的,總歸脫不開底層的硬件、軟件License,以及上層的服務。
結論
無論是哪一種方向,PaaS的征途其實都是一種追求:從IaaS這種只專注於節省成本的低級需求,往增值服務的高階需求發展。科技想要更多富有創造力的東西,而PaaS提供了這樣一個平台。