说明及区分云计算的IaaS和PaaS以及SaaS三种服务方式
云服务”现在已经快成了一个家喻户晓的词了。如果你不知道paas, iaas 和saas的区别,那么也没啥,因为很多人确实不知道。
“云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。
任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是cto,所以有时候看到云技术背后的一些词可能会比较头疼。
云也是分层的
任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是infrastructure(基础设施)-as-a-service,platform(平台)-as-a-service,software(软件)-as-a-service。基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。
iaas: infrastructure-as-a-service(基础设施即服务)
第一层叫做iaas,有时候也叫做hardware-as-a-service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。
但是现在有iaas,你可以将硬件外包到别的地方去。iaas公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
一些大的iaas公司包括amazon, microsoft, vmware, rackspace和red hat.不过这些公司又都有自己的专长,比如amazon和微软给你提供的不只是iaas,他们还会将其计算能力出租给你来host你的网站。
paas: platform-as-a-service(平台即服务)
第二层就是所谓的paas,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。
paas公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
一些大的paas提供者有google app engine,microsoft azure,force.com,heroku,engine yard。最近兴起的公司有appfog, mendix 和 standing cloud
saas: software-as-a-service(软件即服务)
第三层也就是所谓saas。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是saas了。
你消费的服务完全是从网页如netflix, mog, google apps, box.net, dropbox或者苹果的icloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。
一些用作商务的saas应用包括citrix的gotomeeting,cisco的webex,salesforce的crm,adp,workday和successfactors。
iaas和paas之间的比较
paas的主要作用是将一个开发和运行平台作为服务提供给用户,而iaas的主要作用是提供虚拟机或者其他资源作为服务提供给用户。接下来,将在七个方面对paas和iaas进行比较:
1) 开发环境:paas基本都会给开发者提供一整套包括ide在内的开发和测试环境,而iaas方面用户主要还是沿用之前比较熟悉那套开发环境,但是因为之前那套开发环境在和云的整合方面比较欠缺,所以使用起来不是很方便。
2) 支持的应用:因为iaas主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以iaas支持的应用的范围是非常广泛的。但如果要让一个应用能跑在某个paas平台不是一件轻松的事,因为不仅需要确保这个应用是基于这个平台所支持的语言,而且也要确保这个应用只能调用这个平台所支持的api,如果这个应用调用了平台所不支持的api,那么就需要对这个应用进行修改。
3) 开放标准:虽然很多iaas平台都存在一定的私有功能,但是由于ovf等协议的存在,使得iaas在跨平台和避免被供应商锁定这两面是稳步前进的。而paas平台的情况则不容乐观,因为不论是google的app engine,还是salesforce的force.com都存在一定的私有api。
4) 可伸缩性:paas平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。而iaas平台则需要开发人员手动对资源进行调整才能应对。
5) 整合率和经济性: paas平台整合率是非常高,比如paas的代表google app engine能在一台服务器上承载成千上万的应用,而普通的iaas平台的整合率最多也不会超过100,而且普遍在10左右,使得iaas的经济性不如paas。
6) 计费和监管:因为paas平台在计费和监管这两方面不仅达到了iaas平台所能企及的操作系统层面,比如,cpu和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(response time)或者应用所消耗的事务多少等,这将提高计费和管理的精确性。
7) 学习难度:因为在iaas上面开发和管理应用和现有的方式比较接近,而paas上面开发则有可能需要学一门新的语言或者新的框架,所以iaas学习难度更低。
未来的pk
在当今云计算环境当中,iaas是非常主流的,无论是amazon ec2还是linode或者joyent等,都占有一席之地,但是随着google的app engine,salesforce的force.com还是微软的windows azure等paas平台的推出,使得paas也开始崭露头角。谈到这两者的未来,特别是这两者之间的竞争关系,我个人认为,短期而言,因为iaas模式在支持的应用和学习难度这两方面的优势,使得iaas将会在短期之内会成为开发者的首选,但是从长期而言,因为paas模式的高整合率所带来经济型使得如果paas能解决诸如通用性和支持的应用等方面的挑战,它将会替代iaas成为开发者的“新宠”。
上一篇: 电商营销不可不知的18条女人生意经
下一篇: 一键Ghost U盘版安装使用图文教程