谁是开发者的梦中情人?PaaS与IaaS之争

云计算 IaaS PaaS
云计算主要有SaaS,PaaS和IaaS这三种服务模式。对普通用户而言,他们主要面对的是SaaS这种服务模式,但是对普通的开发者而言,云计算对他们而言,却有两种服务模式可供选择,PaaS和IaaS,而且这两种模式有很多的不同,而且它们之间还存在一定程度的竞争,接下来将首先对这两种模式进行比较,之后将预测一下它们的未来,也就是那种模式将会更受到开发者的青睐。

前言

云计算主要有SaaS,PaaS和IaaS这三种服务模式。对普通用户而言,他们主要面对的是SaaS这种服务模式,但是对普通的开发者而言,云计算对他们而言,却有两种服务模式可供选择,PaaS和IaaS,而且这两种模式有很多的不同,而且它们之间还存在一定程度的竞争,接下来将首先对这两种模式进行比较,之后将预测一下它们的未来,也就是那种模式将会更受到开发者的青睐。

比较

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

开发环境

PaaS基本都会给开发者提供一整套包括IDE在内的开发和测试环境,而在IaaS方面用户主要还是沿用之前那套开发环境,虽然比较熟悉,但是因为之前那套开发环境在与云的整合方面比较欠缺,所以有时候会很不方便,比如通过PaaS提供的工具部署一个应用到云上,可能只需几下鼠标点击和十多秒即可完成,而在IaaS平台上部署应用,相对而言比较复杂,特别是在刚开始使用的时候。

支持的应用

因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种基于X86架构的操作系统,包括Linux、OpenBSD和Windows等,所以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)或者应用调用某个服务的次数等,这将提高计费和管理的精确性。

学习难度

对于那些熟悉类UNIX系统的程序员而言,能很快学习在IaaS的开发和管理应用的方式,虽然现在IaaS产品普遍对Windows开发环境没有很好的支持,而如果要学会PaaS上面开发则有可能需要学一门新的语言或者新的框架,所以IaaS学习难度更低。

下面将通过一张表来总结一下上面的比较:
 

 

▲表1. PaaS和IaaS之间的比较

未来的竞争

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

作者简介

吴朱华,之前在IBM中国研究院参与过多个云计算产品的开发工作,现在专注于YunTable和YunEngine的研发工作,并即将发表《剖析云计算》一书,敬请期待。
 

【编辑推荐】

  1. 渐进式?革命式?戴尔的云计算谋略
  2. SaaS、PaaS和云计算 搅动未来软件发展
  3. 戴尔云战略:IaaS、PaaS、SaaS一个不少

 

 

责任编辑:王勇 来源: it168
相关推荐

2013-06-27 10:15:44

2011-09-15 11:17:57

IaaSPaaS开发

2012-01-16 11:05:22

红帽PaaS 开源

2011-05-06 11:55:41

红帽PaaS

2019-07-24 09:45:01

SaaSPaaSIaaS

2013-01-24 09:16:23

移动开发者移动应用开发

2014-06-09 17:41:08

Gartner微软Windows Azu

2011-11-15 09:10:24

HTML 5

2015-10-08 16:53:51

IaaSPaaS云应用

2012-10-15 13:58:45

PaaS开发者云计算

2012-08-10 09:52:27

红帽

2015-08-19 11:04:09

思科VMwareSDN

2014-12-10 09:08:50

2013-06-17 08:57:59

2012-06-13 01:23:30

开发者程序员

2013-11-21 08:56:50

PaaSIaaSDPaaS

2022-08-29 08:33:42

IaaSPaaS云服务

2011-08-10 23:37:56

激光打印机行情

2020-08-17 12:55:38

.NetJava软件开发

2021-01-12 10:05:45

云计算PaaSIaaS
点赞
收藏

51CTO技术栈公众号