以史为镜,剖析PaaS大迷局

发布于 2014年05月04日

作者:阮志敏

【编者按】2013年,在Amazon、Google、Salesforce、微软等云巨头的推动下,PaaS得到了长足的发展。然而,对照SaaS的成熟和IaaS的高速发展,PaaS不管是在市场份额,还是提升速度上都处于弱势,用户对PaaS的兴趣也似乎不大。同时,随着各种云服务之间界限的逐步模糊,一部分人甚至认为pure-PaaS将最终消亡或成为IaaS或者SaaS的一个功能。那么,“不温不火”的PaaS前途究竟如何,下面我们一起看阮志敏的分析——“PaaS大迷局:过去、现在和未来”


关于作者:阮志敏,AWS认证架构师,目前在三星电子北京研究院从事Intelligence Computing方面的研究和开发工作。 


云计算在企业级市场的战役已经打响: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报道这个事件时的第一段话是:

In a move that offers an alternative to startups considering Amazon's pay-as-you-go Web services infrastructure, Google on Tuesday announced a limited test of the new Google App Engine, an online development environment for building and running Web applications. 

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的发展趋势。

  1. 多样性。用户的需求是多样的,同时由于历史原因,异构环境一直都是IT行业必须面对的难题,这使得中间件领域的多样性比其他领域更为明显,所以不可能有一个PaaS服务可以满足所有人的需求,SaaS/PaaS,PaaS/IaaS的相互结合是不可避免的。对于大型公有云提供商,提供一体化的服务是趋势,而对于创业公司,根据特定的细分市场提供差异化的PaaS/DevOps服务和工具也是趋势。
  2. It’s the apps,stupid。PaaS的最终目标是为应用服务,因此脱离apps谈PaaS毫无意义。从apps的方向看,未来的趋势有两个:一是遗留应用的集成和迁移,二是应用的移动化、社交化,System of Engagement应用的加速发展。
  3. DevOps。使用云服务和持续交付可以极大地加速业务创新。用户采纳云服务和DevOps有很强的正相关性,它们的结合是“银弹”,可以使软件开发和交付的效率得到前所未有的提高。从工具层面上看,DevOps的核心是自动化。一切资源都以编程接口提供,这意味着Full-Stack Automation (from “bare-metal to running business services”)成为了可能。从DevOps角度看,如果说PaaS的终极目标是NoOps,那么任何有助于提高应用交付和管理效率的工具、服务都应该纳入PaaS的大范畴。

2. 对PaaS市场竞争格局的预测

未来PaaS竞争格局的焦点在于企业级市场。传统IT企业虽然起步较晚,但是他们在企业级市场上的根基很稳固的。企业级的核心应用仍然运行在on-premise数据中心中,传统IT巨头肯定会推出各自的私有云来阻止用户将核心应用迁移至公有云。而对于互联网公有云提供商,他们会不断推出各种服务以方便用户将应用迁移到公有云。

在这个争夺过程中,我认为确定会发生的是:

  • 并购事件将不断发生。传统IT巨头们将通过不断收购创业企业来完善企业级云计算服务。
  • 互联网企业将在企业级市场上获取更多份额。无论传统IT企业怎么努力,都无法避免其在传统企业级市场份额的流失。
  • 混合云管理平台将被传统IT企业控制。混合云管理平台可帮助用户跨私有云和公有云安全地创建并部署应用和服务。使用混合云能够带来更好的安全性,更多的控制权,以及更好的性能或者可靠性。Rightscale将被某个巨头并购。
  • 云生态圈的争夺将难解难分。随着云计算时代的到来,越来越多的软件开发商(ISV)和系统集成商(SI)将转型成为云服务商。云生态圈的重要性不言而喻。虽然互联网公有云服务商占尽先机,但是传统IT巨头打造生态圈方面经验丰富,未来的争夺很难预测。

3. 对国内PaaS发展的一个期待

如我在《 对国内云计算三个现象的思考 》这篇文章中所说的,我期待本土IaaS服务商把API放在第一优先级的位置,尽快提供API,为PaaS层面的创新提供空间。在不久的将来,我们希望能够看到除了传统的*AE和CF外,在云应用管理软件、DevOps工具、混合云管理工具、基于云的ALM类工具等领域能出现百花争鸣的局面。