云计算的几种模式介绍!

目前各大IT厂商都在宣传自己的云计算,每个厂商的方案都一般存在差异,差异可大可小,以下我将介绍几种云计算模式。
[size=large]1.提供虚拟资源租用 [/size]

典型厂商为Amazon,Amazon 云平台主要业务之一为提供硬件上的虚拟机租用模式,基于Amazon Web自助平台用户可以自由的申请虚拟机,该虚拟机目前具有多种计算能力的类型供选择:
[color=blue][u]Standard Instances[/u]
Instances of this family are well suited for most applications.

[b]Small Instance (Default)[/b] 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform
[b]Large Instance[/b] 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform
[b]Extra Large Instance[/b] 15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform
[u]High-CPU Instances[/u]
Instances of this family have proportionally more CPU resources than memory (RAM) and are well suited for compute-intensive applications.

[b]High-CPU Medium Instance[/b] 1.7 GB of memory, 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each), 350 GB of instance storage, 32-bit platform
[b]High-CPU Extra Large Instance[/b] 7 GB of memory, 20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform

[i]EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor[/i].[/color]

[table]
|Standard Instances| Linux/UNIX Usage |Windows Usage
|Small (Default)|$0.10 per hour|$0.125 per hour
|Large|$0.40 per hour|$0.50 per hour
|Extra Large|$0.80 per hour|$1.00 per hour
|High CPU Instances|Linux/UNIX Usage|Windows Usage
|Medium|$0.20 per hour|$0.30 per hour
|Extra Large|$0.80 per hour|$1.20 per hour [/color
[/table]


从以上可以看出,Amazon上面租用的虚拟机计算性能已经被固定为几种套餐,计算能力有强有弱,基本上能够满足多数用户的需求。Amazon 使用的虚拟化技术为Xen,而从中也可以看出Amazon在Xen方面具备了很强的技术实力,如Xen的文档中描述Xen最高支持4G内存(以后可能提高),但是Amazon明显已经超越,而大规模的Xen 虚拟机管理也具备相当的难度,正是因为Amazon提供了大规模的虚拟化运营,才使云计算、虚拟化的概念深入人心,从而推动了众多IT界实力厂商高举节约成本、弹性计算的云旗帜,一起转变为云服务的提供商。

虽说Amazon 并不是云计算的概念的创造者,但是无疑它是云概念流行的最主要的推动者。
目前国内世纪互联也在效仿Amazon的一些做法,凭借IBM 强大的Tivoli系统,相信对云计算主机的部署、管理能够起到很大的帮助作用。

(虽说Amazon 是这种类型云计算的典型,但是Amazon 的服务并不是只限于这一种方式,后面会介绍在其他服务类型中Amazon 同样扮演着重要角色)
此类云计算特点总结:

主要业务提供IAAS层的虚拟资源租用(运营),但并不出售或开放自己的软件系统。

[size=large]2.提供基于云技术的Web 托管环境(运营)[/size]
目前主流的代码为Google AppEngine与Microsoft Azure。Google 去年就推出了Python 版本的AppEngine平台,今年推出了Java版本的支持,从表面上看来Google 希望为企业或者创业型的个人或团队提供一个Web网站托管的平台,这个平台需要支持大规模的扩展功能,通俗的讲你的网站如果部署在Google平台上处理能够可以从每日0请求扩展到每日4000多万请求(差不多一个豆瓣网了,当然现在的豆瓣可能负载更高了!)。当然更多的请求意味着更多的费用支付,Google对CPU时间、存储、进出带宽、邮件收发操作等进行按使用计费,当然要减去Google提供的免费资源(Google 提供了免费日配额,对开发人员正式人性化)。在Google 上开发的web程序必须是无状态的,另外存储方面的API与我们经常使用的方式也完全不同了,首先是不支持文件存储,另外无法使用标准的sql语句,当然django与JPA的支持使两种语言新开发程序不会有太大的问题,但是老程序想要移植进来可不容易,原因是尽管GAE(Google AppEngine)支持了JPA但是,它的底层存储并不是像MySQL这样的关系型数据库,无法支持许多关系型数据的特性,毕竟底层是BigTable这样的存储系统。

Microsoft 基于Windows 2008 操作系统提供的Azure服务加入了云的战争,目前支持.net与php两种语言,使用上和Google的风格有些类似,都是需要开发者接受新的平台。但是计费上存在差异,Azure更像Amazon一样出售虚拟机。尽管Azure将虚拟机称作计算实例,但是本质上就是windows2008的虚拟化技术,所以计费也是类似Amazon一样给出每个计算实例每小时的费用。Microsoft 有非常广泛的.Net企业用户,相信Microsoft会充分利用这个优势来推广Azure平台。

第三家要介绍的大头是Amazon,Amazon 今年5月推出了(当天被我从官网上发现)cloud watch,auto scaling,loadblancer三大服务,这三大服务的目的就是为Amazon在虚拟计算资源服务提供之上构建一套Web应用自动化托管的平台。当然Amazon的做法需要开发者投入更多来考虑网站的分布式模型与弹性策略,自动化程度不如GAE,但灵活性更高些,这里不多讲了。

总结:提供一个平台(有API开发),供上面特定程序运行在上面,可靠性、伸缩性不用管了。目前其实就是Web平台。

[size=large]3.提供虚拟机与虚拟机化解决方案服务[/size]
云的兴起离开不开虚拟化技术,但是云计算不等同于虚拟化,但虚拟化仍然在云计算中扮演着十分重要的角色。

虚拟机方面开源虚拟机有Xen、KVM、VirtualBox等开源计算。Xen在Linux下使用广泛、KVM集成在Linux内核中、VirtualBox在多种平台中兴起,本人也是安装VirtualBox在Windows中,3.xx版本VirtualBox表现非常不错。

闭源虚拟化技术主要有VMWare、Microsoft Virtual PC等,众多的虚拟机计算应该选择谁?一个人就随便玩吧,企业大规模的部署就需要考虑整体虚拟化解决方案了。

目前虚拟化解决方案的主要提供厂商主要为VMWare、XenServer。VMWare大家都比较熟悉,使用也比较广泛,真正卖钱的产品为VMWare ESX系列(VMWare workstation、server几乎可以免费使用),这也是VMWare主推的云计算解决方案,适合在数据中心中大量部署VMWare虚拟化平台。企业利用VMWare ESX系列解决方案提供的强大功能,足以管理中等规模的物理、虚拟计算机,但是从VMWare系统的管理模式来看,未必合适于管理大量物理、虚拟计算机。XenServer系列起步较VMWare ESX晚,很多特性也是模拟VMWare ESX,感兴趣的可以自己比较一下。

开源虚拟EUCA、Abicloud也提供了对大量虚拟机的管理,他们本身不提供虚拟机,而是管理Xen、KVM、VirtualBox等虚拟机,为企业大规模部署提供方便,但是与商用收费系统来说还是有不少差距。

总结:我们是做虚拟机与虚拟机管理的。

[size=large]4.提供分布式计算环境(mapreduce)[/size]
经常有人会说分布式计算的MapReduce属于云计算,我们这里不来评价是否属于云计算。
分布式计算虽然并不就是MapReduce,但是Google将MapReduce概念宣传后,很多场合自然把MapReduce等价于分布式计算。其实只要你的计算任务分布在多台主机上,都可以称为分布式计算,如一个负载均衡器上挂两个Web Server,自然是分布式计算。MapReduce 可以将一个大型任务交给后台若干台主机共同来完成,这与云计算的概念某些地方有些相似,如我们的租用的云操作系统运行中云服务提供商的机房之中,我们不用去关心这些物理主机情况,MapReduce也将任务交给后台主机来完成,我们不需要多管(实际上也要部署、运行,比云好像麻烦些)。目前的开源实现有Hadoop,为简化Hadoop MapReduce的使用,在MapReduce之上又有Hive等开源支持。

Amazon 在云中也提供了MapReduce(hadoop)的服务。实际上就是在虚拟机上将MapReduce 程序安装配置好,多台主机自动组网,方便用户的使用而已。价格上只是比虚拟机稍贵。

总结:任务分布在多台主机上执行的通用设计模式。

[size=large]5.提供分布式存储系统[/size]
为云一般的存储,我们叫做云存储(玩笑),存储系统在云中,自然容量要大、可靠性要高。实际上云存储的实际实现一般就是我们看到的分布式存储系统。分布式存储系统一般可以通过水平扩这物理主机数量来增加存储容量,当然实际上也是有上限的,典型的GFS google也是有多套系统。开源的方案有多种选择如Hadoop的HDFS、KFS、MogileFS等。当然大多数分布式文件系统已经无法使用标准的文件系统操作API,而是要使用该文件系统提供的私有API,这也导致了遗留系统无法方便移植的问题。

另外云存储还应该包括云数据库存储,它和分布式文件系统一样具备高度的水平扩张性,同时支持数据库的特性,这使云数据库存储或者称为分布式数据库在使用中可能可以用来替代关系数据库。当然实际上云数据库存储由于对关系数据库的一些特性支持不好或不支持,暂时无法替代关系数据库。

目前开源实现主要为Hadoop 的HTable、Hypertable等,不过开源系统的可靠性有待考验。

总结:存储容量深不可测!

[size=large]6.云服务接口[/size]

此类系统一般提供了开放的远程接口供外部使用,由于用户不需要关系远程的部署情况,可以理解为远程接口实现系统在云中,号称云服务,如S3 远程云服务,当然S3 本身具备云存储特性。

总结:想办法和云沾点边,大家一起发财。


以上是我的一些分类总结,但是云相关技术可能不止这些,标准的专业分类为:
IAAS——Infrastructure as a Service,资源即服务,Amazon、世纪互联虚拟机租用为这种模式。
PAAS——Platform as a Service,平台即服务,Google AppEngine、Microsoft Azure为这种模式。
SAAS——Soft as a Service,软件即服务,太多了,如网络硬盘、网站等等都可以号称是这个。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值