【51CTO观察】IaaS,PaaS,SaaS。自“云计算”这一概念成形,这三层云计算服务的分类也很快成为业界的共识。
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 | 2008年4月 | Python、Java、Go | ||
SAE | 新浪 | 2009年11月 | PHP、Java(内测中)、Python(内测中) | |
BAE | 百度 | 2010年左右开始内测 | PHP、Java、Python | 尚在内测 |
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的出路在哪里?
#p#
前途,不一定是黑暗的
“移动互联网时代,将是开发者的时代。” ——李彦宏,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提供了这样一个平台。
你看好PaaS的未来么?欢迎留言讨论!