云计算从通用到专用:Iaas、Paas、Saas
“云”则是大型服务器集群,包括计算服务器、存储服务器和带宽资源等。“云”将计算资源集中起来,并通过专门软件实现自动管理。
用户可以动态申请部分资源,支持各种业务的运转,无需自己搭建服务器而从“云”获取计算和存储能力,从而提高效率、降低成本,可以更专注于客户端或者浏览器端的业务以及创新。
有人问,之前提出的并行计算、分布式计算、网格计算和云计算都有什么关联和区别?简而言之,后者是前者的发展,是前者这些计算科学的商业实现。
从研究现状上看,云计算具有以下的特点:
1.超大规模
Google的云计算拥有100多万台服务器,Amozon、Microsoft拥有几十万台服务器。所以“云”可以为用户提供超强的计算和存储能力。
2.虚拟化
云计算支持用户在各种终端获取服务,获取的服务来自“云”而不是某台固定的服务器。整个“云”对于用户而言,就是一台虚拟的服务器。
3.高可靠性
“云”采用数据多副本容错、计算节点同构可互换等多种手段保障服务可靠性。
4.通用性
“云”不是针对特定的服务,同一片“云”可以支撑各种各样的服务。
5.高伸缩性
“云”的规模可以动态伸缩,以满足应用或者用户增长的需要。
6.按需服务
“云”是一个庞大的资源池,用户可以按需购买资源,像水电煤那样计费。
7.极其廉价
“云”可以采用极其廉价的节点来构成;“云”的自动化管理使数据中心的管理成本大幅降低;“云”的公用性和通用性使资源的利用率大幅提升;“云”设施一般建立在电力资源丰富的地区,从而大幅降低能源成本。Google每年投入16亿美元构建云计算数据中心,所获的能力相当于传统技术投入640亿美元,节省了39倍的成本。
云计算从通用到专用,可分为:Iaas、Paas、Saas
Iaas将硬件设备等资源封装成服务供用户使用,如Amazon云计算 AWS的弹性计算云EC2和简单存储服务S3。在Iaas中,用户相当于在使用裸机和磁盘,既可以让它运行Windows,也可以让它运行Linux,用什么系统用户可以自己定,但用户必须自己协调多个机器协同工作。AWS提供了在节点之间互通消息的接口简单队列服务SQS(Simple Queue Service)。Iaas最大的优势是允许用户动态申请或释放节点,按节点使用量计费。
Paas提供了用户应用程序的运行环境,如Google App Engine、MicroSoft Windows Azure。Paas自身负责资源的动态扩展和容错管理,用户应用程序不必过多考虑节点的配合问题,但用户必须在特定的编程环境下使用特定的变成模型。例如:Google App Engine只允许使用Python、Java语言、基于称为Django的Web应用框架、调用Google App Engine SDK来开发在线应用服务。
Saas将某些特定应用软件功能封装成服务,如Salesforce公司提供的在线客户关系管理CRM服务。它既不像Iaas提供计算与存储服务,也不像Paas提供运行服务的环境,它只提供某些专门用途的服务让应用调用。
IaaS、PaaS和SaaS,这几个术语并不好理解。我来举个盖房子的例子:
没有云的时候相当于大家都是在自己盖房子,后来发现这样成本比较高,要请专业人员搭建维护,如果盖的太大用不了浪费,盖的太小如果人多又不够用,于是有了云。IAAS相当于商品房,建筑商盖好,购买就行。不够再买一套(可以随时退货)。具体房子做什么用,自己决定,屋内的装修家居还是要自己负责。IAAS上购买的一般是主机,用户不光要开发程序,还要考虑搭建系统,维护运行环境,以及怎么容灾,怎么做到高可用,怎么扩容。PAAS相当于租房,房子做什么用有一定限制,但装修家居什么的房东都做好了,不够再租也比较方便。PAAS上是服务的运行环境,服务商提供了扩容以及容灾机制,用户负责开发程序即可,但程序需要匹配PAAS上的环境,没有IAAS那样自由。SAAS相当于酒店,需要的时候租一间住就行,不住了退,完全不用操心房间维护的问题,有不同风格档次的酒店以及不同格局的房间供你选择。SAAS提供的是具体的服务,多租户公用系统资源,资源利用率更高。
云表企业应用PaaS平台,英文名称叫Eversheet,它的主要特点是:简化开发,随需应变,快速上线。云表是一个PaaS平台,基于云端部署(目前部署在阿里云),用户只需要在云表官网上注册一个账号就可以开通了。当然对于中大型企业和独立软件开发商ISV,云表也提供私有化部署的解决方案,让客户可以根据自己企业的实际情况自由选择。