王文彬:谈PaaS对互联网产业的影响 PaaS vs IaaS 你需要知道的!

原文地址为: 王文彬:谈PaaS对互联网产业的影响 PaaS vs IaaS 你需要知道的!

王文彬:谈PaaS对互联网产业的影响

文/ 淘宝网资深总监兼首席架构师 

平台即服务(Platform as a Service, PaaS)是软件即服务(Software as a Service, SaaS)的延伸。SaaS提供的是定制好的远程软件服务,比如当你订购一个网络销售系统软件,就可以直接使用,不需要代码开发,但是缺点是客制化困难。PaaS也是远程订购服务,但是你购买的是平台模块服务,如计算能力、数据库、储存和消息传送等。底层的平台已¾¬帮你铺建好,你需要开发自己的上层应用。

当Salesforce.com在07年首先提出来PaaS的观念时,并没有引起太大的回响。就如很多人的评论,这只是Salesforce.com对它的应用软件集成及分享平台AppEx(AppExchange)的一些新的行销包装罢了。它是提供了一些数据库的服务,但是应用必须集成在AppEx的平台上因而产生了束缚。而后在今年,PaaS因为Amazon和Google推出的一些平台服务而有了新的诠释。PaaS同时也因为云计算(cloud computing)的实现,让它对以后的互联网发展扮演重要的角色。

Amazon应该算是PaaS的先驱。它先从02年开始提供Amazon Web Services API,然后从06年起相继对外开放平台服务,包括S3(Simple Storage Service, 存储),SQS(Simple Queue Service, 队列),EC2(Elastic Compute Cloud,计算),和SimpleDB (数据库)。这些服务构成了一个完整的平台模块供各种应用开发。Google则是最近才开始开放它的云计算平台,AppEngine——还不是太完整的平台服务,但是可以预期Google会很快的推出像Amazon的多样化服务。

那么Amazon与Salesforce.com的服务有什么不同呢?第一,前者是对外开放的,也就是你不需要在它的集成平台上跑你的应用;第二,它是以分布式计算为出发点,所以上层应用不需要考虑分布式、可伸缩性、容量等问题,让应用开发变得简单;第三,它是以互联网终端应用为出发点(相对而言,salesforce.com还是以企业应用为主),所以处理的是海量的用户群和需求。也因为以上的三点,让这一类型的分布式平台服务对互联网产业产生影响。

首先,技术门槛降低让应用更容易生成,而间接鼓励更多的商业模式创新。尤其是资金花在软件和硬件的比例会减低,给初创公司带来更大的生存空间;再来,可以有更多的平台服务架构在现有的PaaS上(Platform over PaaS),使得服务的种类多样化。这也会促成生态链的形成;最后,公司的合并门槛减低,如果两家公司用的是同一个平台服务,那么就没有技术整合的问题了。

当然,PaaS要大力发展还是有一些困难得克服,例如vendor lock-in,也就是说API和数据都还不是标准化,使得应用迁移变得复杂。再者,网络的连接性也是一大问题——当你的应用因为任何一端的网络而没办法连上平台服务时,你可能没有任何其他的备份方案。

最后,老实说国内的互联网产业要能真正提供PaaS还有一段路得走,毕竟技术门槛不是太低,尤其是分布式计算的构建不是一蹴而就的。淘宝网也正在构建自己的技术平台,我们希望以即将开放的Taobao API为第一步,逐步提供技术服务的输出。

(本文来源于《程序员》杂志0806期)

PaaS vs IaaS 你需要知道的!

云计算的三种服务模式是SaaS(Software as a Service),PaaS(Platform as a service)和IaaS(Infrastructure as a service)。对普通用户而言,他们主要面对的是SaaS这种服务模式,而且几乎所有的云计算服务最终的呈现形式都是SaaS,但是对普通的开发者而言,云计算对他们而言,却有两种服务模式可供选择,PaaS和IaaS,而且这两种模式有很多的不同,而且它们之间还存在一定程度的PK。那么在进行PK之前,我准备对这两种模式先进行一番比较。

  比较

  PaaS的主要作用是将一个开发和运行平台作为服务提供给用户,而IaaS的主要作用是提供虚拟机或者其他资源作为服务提供给用户。接下来,将在七个方面对PaaS和IaaS进行比较:

  开发环境:PaaS基本都会给开发者提供一整套包括IDE在内的开发和测试环境,而IaaS方面用户主要还是沿用之前比较熟悉那套开发环境,但是因为之前那套开发环境在和云的整合方面比较欠缺,所以使用起来不是很方便。

  支持的应用:因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以IaaS支持的应用的范围是非常广泛的。但如果要让一个应用能跑在某个PaaS平台不是一件轻松的事,因为不仅需要确保这个应用是基于这个平台所支持的语言,而且也要确保这个应用只能调用这个平台所支持的API,如果这个应用调用了平台所不支持的API,那么就需要对这个应用进行修改。

  开放标准:虽然很多IaaS平台都存在一定的私有功能,但是由于OVF等协议的存在,使得IaaS在跨平台和避免被供应商锁定这两面是稳步前进的。而PaaS平台的情况则不容乐观,因为不论是Google的App Engine,还是Salesforce的Force.com都存在一定的私有API。

  可伸缩性:PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。而IaaS平台则需要开发人员手动对资源进行调整才能应对。

  整合率和经济性: PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服务器上承载成千上万的应用,而普通的IaaS平台的整合率最多也不会超过100,而且普遍在10左右,使得IaaS的经济性不如PaaS。

  计费和监管:因为PaaS平台在计费和监管这两方面不仅达到了IaaS平台所能企及的操作系统层面,比如,CPU和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(Response Time)或者应用所消耗的事务多少等,这将提高计费和管理的精确性。

  学习难度:因为在IaaS上面开发和管理应用和现有的方式比较接近,而PaaS上面开发则有可能需要学一门新的语言或者新的框架,所以IaaS学习难度更低。

  PaaS IaaS
开发环境 完善 普通
支持的应用 有限 广
通用性 欠缺 稍好
可伸缩性 自动伸缩 手动伸缩
整合率和经济性 高整合率,更经济 低整合率
计费和监管 精细 简单
学习难度 略难

表1. PaaS和IaaS之间的比较

未来的PK

  在当今云计算环境当中,IaaS是非常主流的,无论是Amazon EC2还是Linode或者Joyent等,都占有一席之地,但是随着Google的App Engine,Salesforce的Force.com还是微软的Windows Azure等PaaS平台的推出,使得PaaS也开始崭露头角。谈到这两者的未来,特别是这两者之间的竞争关系,我个人认为,短期而言,因为IaaS模式在支持的应用和学习难度这两方面的优势,使得IaaS将会在短期之内会成为开发者的首选,但是从长期而言,因为PaaS模式的高整合率所带来经济型使得如果PaaS能解决诸如通用性和支持的应用等方面的挑战,它将会替代IaaS成为开发者的“新宠”。


转载请注明本文地址: 王文彬:谈PaaS对互联网产业的影响 PaaS vs IaaS 你需要知道的!

猜你喜欢

转载自blog.csdn.net/wcqlwyt/article/details/80882148