雲計算在企業級市場的戰役已經打響:AWS等新興雲服務提供者已經動了傳統IT巨頭在企業級市場的乳酪,傳統巨頭們也已開始奮力反擊。 隨著傳統IT巨頭的加入,PaaS市場變得比以前任何時候都更加混亂。 唯一確定的共識似乎只剩下一個:大家都喜歡「Platform/平臺」這個詞,因為「平臺」一詞有無限的想像空間。
越來越多的人開始談論和關注PaaS,包括運營商、互聯網巨頭、傳統IT廠商、諮詢和集成商、ISV、IT技術媒體等等。 但是,使用者對PaaS興趣似乎不大。 從最初的一致看好,到現在人們開始懷疑PaaS的未來前景,甚至一部分人認為pure-PaaS將最終消亡或成為IaaS或者SaaS的一個功能。 What Is Going on with PaaS? 一文中充分反應了這些分歧。
PaaS的未來發展趨勢會是怎樣? 以史為鏡,可以知興替。 本文試圖通過解讀PaaS發展中發生的大事件,去窺測PaaS的未來走向。 需要說明的是,隨著各種雲服務之間界限的逐步模糊,PaaS的未來某種程度上和雲服務的未來是一致的,很難脫離雲服務而單獨談PaaS,但是本文儘量將範圍控制在「PaaS」內。
PaaS熱度
我們先來看看PaaS這個詞的Google趨勢和百度指數。 對於Google,我採用的關鍵字是「Platform as a Service」,因為PaaS不僅僅指雲計算領域的PaaS;對於百度,我則直接採用「PaaS」作為關鍵字。 整體上看,無論是國外還是國內,PaaS的熱度是持續上升的。 在國外,2008年4月Google App Engine的發佈是一個標誌性轉捩點,PaaS由此進入人們視野;2011年4月份VMware發佈了Cloud Foundry,並隨後在市場上持續投入宣傳, 使得PaaS的熱度上升到一個新臺階。 在國內,2012年底左右人們對PaaS的興趣突然上升,隨後表現較為平穩。
PaaS事件時間軸(Timeline)
並非所有事件都能像GAE發佈、CF發佈一樣能在Google的趨勢圖上看出這個事件所產生的直接變化。 更多的事件是量變的,且幾個事件之間是有關聯的,把較長的時間跨度內發生的事件綜合起來解讀,有助於我們看清本質。
我在下圖列出了從2008年到現在與PaaS有關的大事件。 當然,與PaaS相關的事件很多,我選擇的是我個人認為最重要的事件,具有一定的個人主觀性。 這些事件進行矩陣劃分:根據事件的發生時間,劃分為過去(2007-2012)現在(2013-2015)外;根據企業類型,劃分為互聯網企業與傳統IT企業。 在後續章節中,我會解讀過去和現在的事件,並闡述對PaaS未來的一些看法。
PaaS的過去(2007 ~ 2012)
1. 2007 force.com announced.
Saleforce.com作為最成功的SaaS公司,推出Force.com平臺用來支援客戶開發和部署定制軟體,並和Saleforces.com應用做集成。 使用者可以通過Apex(與JAVA類似)和Visualforce(UI)來開發運行在force.com上面的應用。 Force.com是採用meta data驅動的架構來實現多租戶機制,因此也有人把force.com稱作metadata-PaaS。
SaaS類公司需要PaaS平臺是必然的。 一方面用於支援使用者的定制軟體,另一方面從技術升級角度上他們需要PaaS平臺來運行自家的SaaS軟體。
2. 2008/04 Google App Engine Beta version & 2009/11 SAE Alpha release.
GAE和Force.com是PaaS的鼻祖。 當Google發佈GAE時,informationweek報導這個事件時的第一段話是:
GAE的推出和AWS有著一定的關係。 Google希望通過GAE和Amazon爭奪獨立開發者和創業公司市場。 後來的發展表明AWS自下向上的戰略更為成功,而Google不得不推出GCE並且在GAE裡面支援Managed VM來追趕AWS。 這點會在後續的「Google announced managed VM support」中會繼續分析。
2009/11新浪的SAE Alpha版本發佈是唯一一個出現在圖中的國內事件。 SAE顯然是國內公司模仿Google GAE的產物。 除了新浪,國內的其他的互聯網巨頭之後都推出各自的*AE服務。 但是,他們之間的共同點是:這些*AE都是服務于其各自的開放平臺戰略,並沒有獲得完全的獨立地位。
3. 2010 Heroku被Salesforce.com收購
Heroku作為GAE後推出的運行于AWS之上的公有PaaS服務,深受Ruby/Rails開發人員的歡迎,但功能上它和GAE並無太大的區別。 作為為數不多的公有雲pure-PaaS服務商,Heroku被收購後,引發了人們對公有雲pure-PaaS後續發展的憂慮。
Heroku不斷發展,但是相比于AWS的速度,並沒有達到人們的預期。 為什麼呢? 對於簡單的、常用的Web應用,公有雲pure-PaaS非常適合,可以讓開發人員專注于業務本身的開發。 但是,一定程度上公有雲pure-PaaS限制了開發人員的選擇,開發人員失去了全棧的控制權。 一旦業務複雜起來,將迫使使用者選擇從pure-PaaS轉向AWS等IaaS上。 因此,公有雲pure-PaaS的發展空間有限。 Heroku不像*AE們可以依託于巨頭們的開放平臺,其被收購是一種理性的選擇結果。
Salesforce.com有force.com這個PaaS平臺,為何還要收購Heroku? 合理的解釋是單一的metadata-PaaS很難滿足所有的需求。
4. 2011/01 AWS Beanstalk發佈
作為公有IaaS雲的絕對領導廠商,AWS不斷向棧的上方移動:一是推出各種Application services,二是推出應用管理和部署服務,如Cloudformation/Beanstalk。 在技術實現上,GAE/Heroku採用基於Container隔離的方案,而Beanstalk則採用VM隔離。 AWS Beanstalk給予開發人員更大的控制權,因為開發人員可以登錄到VM上進行操作。
5. 2010/02 Windows Azure發佈 & 2011/03 VMWare發佈Cloud Foundry,Redhat發佈OpenShift
相對於互聯網公司,傳統IT企業在2007-2012期間的活動應該說乏善可陳。 而較之IBM/Oracle,微軟在雲計算的動作是最早的。 和GAE一樣,Windows Azure開始也定位於PaaS平臺,但其隨後也增加了VM Role的支援。
VMWare和Redhat的定位不是公有雲「服務」,而是為私有雲使用者提供PaaS「產品」。 他們首先通過開源策略吸引開發人員,而後嘗試推出商業版本或者供應商業支援。 這個策略很奏效,Cloud Foundry在國內某種程度上成了PaaS的代名詞。
PaaS的現在(2013 ~ 2015)
6. 2013/03 Netflix launched the NetflixOSS Cloud Prize
Netflix是AWS最成功的案例,它標誌著AWS不僅可以很好地滿足中小型創業公司的需求,也可以滿足大型的互聯網企業的需求。 Netflix在構建Cloud-Native應用上所積累的經驗是豐富的。 Netflix認為AWS和它要開發的Cloud-Native應用之間是存在Gap的,而最難的工作就是構建符合自己業務需求的PaaS來彌補這個Gap。 Netflix從2012年開始將這個他們自己稱為PaaS的一些元件逐步開源。
7. 2013/02 AWS發佈OpsWorks & RightScale宣佈支援GCE
在應用管理和部署產品線上,繼CloudFormation與Beanstalk後,AWS在2013/02推出了OpsWorks服務。 AWS OpsWorks將應用程式管理、可擴充性和性能結合在一起。 OpsWorks支援各種DevOps原則,如持續集成等。 使用者不但可以控制如何部署代碼,還可以使用 Chef 配方來佈建服務器上的軟體,使用AWS API來調用各種資源。
OpsWorks的推出引起了RightScale等AWS合作夥伴的不滿,RightScale隨後宣佈支援GCE。 隨著AWS推出替代相似服務,RightScale等雲管理廠商的優勢似乎只剩下multi-cloud支援。 但是,我認為對於不同的使用者,IaaS(可能是multi-cloud,包括私有雲和公有雲)和Cloud-Native應用之間的Gap是不同的,Rightscale類軟體仍有足夠的創新空間和市場區隔。
8. 2014/02 GAE支援managed VMs
Google在發佈GCE後不久,就宣佈GAE支援managed VMs功能。 和Azure的VM Role一樣,這個功能給予了PaaS開發人員完全的控制權。
所以,未來PaaS可能成為IaaS的一個功能,或者說兩者之間沒有明顯的界限,它們是作為一個整體Offering提供給使用者,這都證明了AWS的遠見。
9. 2013/12 Github reached 10m repositories & 2013/10 dotCloud公司改名為Docker
這兩個事件貌似和PaaS的關係不大。 Github和開源軟體有很強的關聯性,因為幾乎所有的知名開源軟體都可以在Github上面找到。 在雲時代,開源軟體的使用越來越多。 AWS提供的RDS for Mysql深受歡迎,ElasticCache服務也是基於memcached和redis這兩個開源軟體。 GPL開源協定和雲服務之間沒有衝突,使得越來越多開源軟體被選擇用來構建雲服務。 另一方面,在ALM類軟體領域,出現了越來越多和Github一樣的SaaS服務,比如Monitoring as a service、Load test as a service,持續集成as a service。 這類服務對DevOps的推動力不可忽視。
Docker自2013年以來非常火熱,無論是從Github上的代碼活躍度,還是Redhat在RHEL6.5中集成對Docker的支援,就連Google的Compute Engine也支援Docker在其之上運行。 Docker對PaaS的影響值得持續關注。
10. 2014/03 Oracle and Microsoft Azure announced partnership
Oracle之前已經和AWS有了類似的合作。 使用者可以在AWS部署Oracle的軟體,甚至可以直接使用完全由AWS管理的RDS for Oracle。 Oracle和Azure也達成合作,說明企業應用遷移到公有雲的需求是存在的。 對Oracle/IBM來說,他們肯定希望自家軟體以後也能夠運行在自己的公有雲中。
11. 2013/11 Pivotal發佈CF企業版&2014/02 CF基金會成立
Pivotal發佈企業版Cloud Foundry是預料之中的事情。 之後,Cloud Foundry基金會成立,IBM/HP/SAP等巨頭紛紛加入,有點抱柴取暖的感覺。 對於IBM/HP/SAP來說,作為後來者加入宣告基金會是個無奈的選擇。 Cloud Foundry不是PaaS的全部,Cloud Foundry只是巨頭們PaaS戰略的一個部分而已。
12. 2014/03 Windows Azure改名成 Microsoft Azure & 2014/04 IBM發佈BlueMix
微軟CEO上臺後即將windows Azure改名為Microsoft Azure,這標誌著雲已經成為微軟的優先戰略方向。 IBM也是一樣,又到了關乎成敗的十字路口。 在Pulse 2014會議上,該公司發佈了BlueMix的測試版本,這是一款PaaS產品,通過開放平臺技術(CF)集成自家軟體和協力廠商產品,旨在説明開發者快速建立基於雲的企業應用。 IBM擁有最全的軟體產品線,領先的開發者生態系統,並在軟體發展方法論上有巨大的影響力。 IBM這次極力行銷DevOps,值得我們深思。
PaaS的未來(2016 ~ )
讀完上述對PaaS事件的分析後,我希望讀者對PaaS的未來多少有了一些自己的思考。 我在這裡分享下我對PaaS未來的一些思考和預測。
1. 從PaaS的特性去思考PaaS的未來趨勢
PaaS的未來發展趨勢會是怎樣? 我認為PaaS有三個非常核心的特性,這個三個特性一直並將持續影響著PaaS的發展趨勢。
2. 對PaaS市場競爭格局的預測
未來PaaS競爭格局的焦點在於企業級市場。 傳統IT企業雖然起步較晚,但是他們在企業級市場上的根基很穩固的。 企業級的核心應用仍然運行在on-premise資料中心中,傳統IT巨頭肯定會推出各自的私有雲來阻止使用者將核心應用遷移至公有雲。 而對於互聯網公有雲供應商,他們會不斷推出各種服務以方便使用者將應用遷移到公有雲。
在這個爭奪過程中,我認為確定會發生的是:
3. 對國內PaaS發展的一個期待
如我在《 對國內雲計算三個現象的思考 》這篇文章中所說的,我期待本土IaaS服務商把API放在第一優先順序的位置,儘快提供API,為PaaS層面的創新提供空間。 在不久的將來,我們希望能夠看到除了傳統的*AE和CF外,在雲應用管理軟體、DevOps工具、混合雲管理工具、基於雲的ALM類工具等領域能出現百花爭鳴的局面。