了解Amazon google、IBM、microsoft云计算主要平台及特点

Google的云计算平台及特点

Google使用的云计算基础架构模式包括四个相互独立又紧密结合在一起的系统。包括Google建立在集群之上的文件系统Google File System,针对Google应用程序的特点提出的Map/Reduce编程模式,分布式的锁机制Chubby以及Google开发的模型简化的大规模分布式数据库BigTable。

Google File System 文件系统

为了满足Google迅速增长的数据处理需求,Google设计并实现了Google文件系统(GFS,Google File System)。GFS与过去的分布式文件系统拥有许多相同的目标,例如性能、可伸缩性、可靠性以及可用性。然而,它的设计还受到Google应用负载和技术环境的影响。主要体现在以下几点。

集群中的节点失效是一种常态,而不是一种异常。

Google系统中的文件大小与通常文件系统中的文件大小概念不一样,文件大小通常以G字节计。另外文件系统中的文件含义与通常文件不同,一个大文件可能包含大量数目的通常意义上的小文件。

Google文件系统中的文件读写模式和传统的文件系统不同。

文件系统的某些具体操作不再透明,而且需要应用程序的协助完成,应用程序和文件系统API的协同设计提高了整个系统的灵活性。

MapReduce分布式编程环境

为了让内部非分布式系统方向背景的员工能够有机会将应用程序建立在大规模的集群基础之上,Google设计并实现了一套大规模数据处理的编程规范Map/Reduce系统。如此一来,非分布式专业的程序编写人员也能够为大规模的集群编写应用程序而不用去顾虑集群的可靠性、可扩展性等问题。应用程序编写人员只需要将精力放在应用程序本身,而关于集群的处理问题则交由平台来处理。

分布式大规模数据库管理系统BigTable

构建于上述两项基础之上的第三个云计算平台就是Google关于将数据库系统扩展到分布式平台上的BigTable系统。很多应用程序对于数据的组织还是非常有规则的。一般来说,数据库对于处理格式化的数据还是非常方便的,但是由于关系数据库很强的一致性要求,很难将其扩展到很大的规模。为了处理Google内部大量的格式化以及半格式化数据,Google构建了弱一致性要求的大规模数据库系统BigTable。

 

亚马逊云计算平台和特点

开放的服务

与Google提供的云计算服务不同,Google仅为自己在互联网上的应用提供云计算平台,独立开发商或者开发人员无法在这个平台上工作,因此只能转而通过开源的Hadoop软件支持来开发云计算应用。亚马逊将自己的弹性计算云建立在公司内部的大规模集群计算的平台之上,而用户可以通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(Instance),而付费方式则由用户的使用状况决定,即用户仅需要为自己所使用的计算平台实例付费,运行结束后计费也随之结束。

2007年7月,亚马逊公司推出了简单队列服务(Simple Queue Service,SQS),这项服务使托管主机可以存储计算机之间发送的消息。通过这一项服务,应用程序编写人员可以在分布式程序之间进行数据传递,而无须考虑消息丢失的问题。通过这种服务方式,即使消息的接收方还没有模块启动也没有关系。服务内部会缓存相应的消息,而一旦有消息接收组件被启动运行,则队列服务将消息提交给相应的运行模块进行处理。同样的,用户必须为这种消息传递服务进行付费使用,计费的规则与存储计费规则类似,依据消息的个数以及消息传递的大小进行收费。

灵活的工作模式

亚马逊的云计算模式沿袭了简单易用的传统,并且建立在亚马逊公司现有的云计算基础平台之上。弹性计算云用户使用客户端通过SOAP over HTTPS协议来实现与亚马逊弹性计算云内部的实例进行交互。使用HTTPS协议的原因是为了保证远端连接的安全性,避免用户数据在传输的过程中造成泄露。因此,从使用模式上来说,弹性计算云平台为用户或者开发人员提供了一个虚拟的集群环境,使得用户的应用具有充分的灵活性,同时也减轻了云计算平台拥有者(亚马逊公司)的管理负担。

而弹性计算云中的实例是一些真正在运行中的虚拟机服务器,每一个实例代表一个运行中的虚拟机。对于提供给某一个用户的虚拟机,该用户具有完整的访问权限,包括针对此虚拟机的管理员用户权限。虚拟服务器的收费也是根据虚拟机的能力进行计算的,因此,实际上用户租用的是虚拟的计算能力,简化了计费方式。在弹性计算云中,提供了三种不同能力的虚拟机实例,具有不同的收费价格。例如,其中默认的也是最小的运行实例是1.7GB的内存,1个EC2的计算单元(1虚拟的计算核以相关的计算单元),160GB的虚拟机内部存储容量,是一个32位的计算平台,收费标准为每个小时10美分。在当前的蓝计算平台中,还有两种性能更加强劲的虚拟机实例可供使用,当然价格也更加昂贵一点。

亚马逊通过提供弹性计算云,减少了小规模软件开发人员对于集群系统的维护,并且收费方式相对简单明了,用户使用多少资源,只需要为这一部分资源付费即可。这种付费方式与传统的主机托管模式不一样。传统的主机托管模式让用户将主机放入到托管公司,用户一般需要根据最大或者计划的容量进行付费,而不是根据使用情况进行付费,而且,可能还需要保证服务的可靠性、可用性等,付出的费用更多,而很多时候,服务并没有进行满额资源使用。

 

IBM蓝云计算平台和特点

通过IBM的技术白皮书,我们可以一窥蓝云计算平台的内部构造。“蓝云”建立在IBM大规模计算领域的专业技术基础上,基于由IBM软件、系统技术和服务支持的开放标准和开源软件。简单地说,“蓝云”基于IBM Almaden研究中心(Almaden Research Center)的云基础架构,包括Xen和PowerVM虚拟化、Linux操作系统映像以及Hadoop文件系统与并行构建。“蓝云”由IBM Tivoli软件支持,通过管理服务器来确保基于需求的最佳性能。这包括通过能够跨越多服务器实时分配资源的软件,为客户带来一种无缝体验,加速性能并确保在最苛刻环境下的稳定性。IBM新近发布的“蓝云(Blue Cloud)”计划,能够帮助用户进行云计算环境的搭建。它通过将Tivoli、DB2、WebSphere与硬件产品(目前是x86刀片服务器)集成,能够为企业架设一个分布式、可全球访问的资源结构。根据IBM的计划,首款支持Power和x86处理器刀片服务器系统的“蓝云”产品将于2008年正式推出,并且计划随后推出基于System z“大型主机”的云环境,以及基于高密度机架集群的云环境。

 

“蓝云”中的虚拟化

从蓝云的结构上我们还可以看出,在每一个节点上运行的软件栈与传统的软件栈一个很大的不同在于蓝云内部使用了虚拟化技术。虚拟化的方式在云计算中可以在两个级别上实现。一个级别是在硬件级别上实现虚拟化。硬件级别的虚拟化可以使用IBM p系列的服务器,获得硬件的逻辑分区LPAR。逻辑分区的CPU资源能够通过IBM Enterprise Workload Manager来管理。通过这样的方式加上在实际使用过程中的资源分配策略,能够使得相应的资源合理地分配到各个逻辑分区。P系列系统的逻辑分区最小粒度是1/10颗中央处理器(CPU)。

虚拟化的另外一个级别可以通过软件来获得,在蓝云计算平台中使用了Xen虚拟化软件。Xen也是一个开源的虚拟化软件,能够在现有的Linux基础之上运行另外一个操作系统,并通过虚拟机的方式灵活地进行软件部署和操作。

通过虚拟机的方式进行云计算资源的管理具有特殊的好处。由于虚拟机是一类特殊的软件,能够完全模拟硬件的执行,因此能够在上面运行操作系统,进而能够保留一整套运行环境语义。这样,可以将整个执行环境通过打包的方式传输到其他物理节点上,这样就能够使得执行环境与物理环境隔离,方便整个应用程序模块的部署。总体上来说,通过将虚拟化的技术应用到云计算的平台,可以获得一些良好的特性。

 云计算的管理平台能够动态地将计算平台定位到所需要的物理平台上,而无需停止运行在虚拟机平台上的应用程序,这比采用虚拟化技术之前的进程迁移方法更加灵活。

能够更加有效率地使用主机资源,将多个负载不是很重的虚拟机计算节点合并到同一个物理节点上,从而能够关闭空闲的物理节点,达到节约电能的目的。

 通过虚拟机在不同物理节点上的动态迁移,能够获得与应用无关的负载平衡性能。由于虚拟机包含了整个虚拟化的操作系统以及应用程序环境,因此在进行迁移的时候带着整个运行环境,达到了与应用无关的目的。

在部署上也更加灵活,即可以将虚拟机直接部署到物理计算平台当中。

 "蓝云”中的存储结构

蓝云计算平台中的存储体系结构对于云计算来说也是非常重要的,无论是操作系统,服务程序还是用户应用程序的数据都保存在存储体系中。云计算并不排斥任何一种有用的存储体系结构,而是需要跟应用程序的需求结合起来获得最好的性能提升。总体上来说,云计算的存储体系结构包含类似于Google File System的集群文件系统以及基于块设备方式的存储区域网络SAN两种方式。

在设计云计算平台的存储体系结构的时候,不仅仅是需要考虑存储的容量。实际上随着硬盘容量的不断扩充以及硬盘价格的不断下降,使用当前的磁盘技术,可以很容易通过使用多个磁盘的方式获得很大的磁盘容量。相较于磁盘的容量,在云计算平台的存储中,磁盘数据的读写速度是一个更重要的问题。单个磁盘的速度很有可能限制应用程序对于数据的访问,因此在实际使用的过程中,需要将数据分布到多个磁盘之上,并且通过对于多个磁盘的同时读写以达到提高速度的目的。在云计算平台中,数据如何放置是一个非常重要的问题,在实际使用的过程中,需要将数据分配到多个节点的多个磁盘当中。而能够达到这一目的的存储技术趋势当前有两种方式,一种是使用类似于Google File System的集群文件系统,另外一种是基于块设备的存储区域网络SAN系统。

你可能感兴趣的:(Microsoft)