云计算平台

  • 云计算平台
云计算平台也称为云平台。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。

   开源云计算平台

  分类

  (1)AbiCloud(Abiquo公司

  AbiCloud是一款用于公司的开源云计算平台,使公司能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器、网络、应用、存储设备等)。Abiquo公司位于美国加利福尼亚州红木市,它提供的云计算服务包括为企业创造和管理私人云服务公共云服务和混合云服务,能让企业用户把他们的电脑和移动设备中的占据大量资源的数据转移到更大、更安全的服务器上。

  (2)HadoopApache基金会)

  该计划是完全模仿Google体系架构做的一个开源项目,主要包括Map/Reduce和HDFS文件系统

  (3)Eucalyptus项目(加利福尼亚大学)

  创建了一个使企业能够使用它们内部IT资源(包括服务器、存储系统、网络设备)的开源界面,来建立能够和AmazonEC2兼容的云

  (4)MongoDB(10gen)

  MongoDB是一个高性能、开源、无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。关于它的一个最简洁描述为:scalable,high-performance,opensource,schema-free,document-orienteddatabase。

  (5)Enomalism弹性计算平台

  它提供了一个功能类似于EC2的云计算框架。Enomalism基于Linux,同时支持Xen和KernelVirtualMachine(KVM)。与其他纯IaaS解决方案不同的是,Enomalism提供了一个基于TurboGearsWeb应用程序框架和Python的软件

  (6)Nimbus(网格中间件Globus)

  Nimbus面向科学计算需求,通过一组开源工具来实现基础设施即服务(IaaS)的云计算解决方案。

  商业化云计算平台

  (1)微软

  技术特性:整合其所用软件及数据服务

  核心技术:大型应用软件开发技术

  企业服务:Azure平台

  开发语言:.NET

  (2)Google

  技术特性:储存及运算水平扩充能力

  核心技术:平行分散技术MapReduce,BigTable,GFS

  企业服务:GoogleAppEngine,应用代管服务

  开发语言:Python,Java

  (3)IBM

  技术特性:整合其所有软件及硬件服务

  核心技术:网格技术,分布式存储,动态负载

  企业服务:虚拟资源池提供,企业云计算整合方案

  (4)Oracle

  技术特性:软硬件弹性虚拟平台

  核心技术:Oracle的数据存储技术,Sun开源技术

  企业服务:EC2上的Oracle数据库,OracleVM,SunxVM

  (5)Amazon

  技术特性:弹性虚拟平台

  核心技术:虚拟化技术Xen

  企业服务:EC2、S3,SimpleDB、SQS

  开发语言:

  (6)Saleforce

  技术特性:弹性可定制商务软件

  核心技术:应用平台整合技术

  企业服务:Force.com服务

  开发语言:Java,APEX

  (7)旺田云服务

  技术特性:按需求可定制平台化软件

  核心技术:应用平台整合技术

  企业服务:netfarmer服务提供不同行业信息化平台

  开发语言:Deluge(DataEnrichedLanguagefortheUniversalGridEnvironment)

  (8)EMC

  技术特性:信息存储系统及虚拟化技术

  核心技术:Vmware的虚拟化技术,一流存储技术

  企业服务:Atoms云存储系统,私有云解决方案

  (9)阿里巴巴

  技术特性:弹性可定制商务软件

  核心技术:应用平台整合技术

  企业服务:软件互联平台,云电子商务平台

  (10)中国移动

  技术特性:坚实的网络技术丰富的带宽资源

  核心技术:底层集群部署技术,资源池虚拟技术,网络相关技术

  企业服务:BigCloude-大云平台

  平台架构

  可分为四层,

  首先:显示层

  多数据中心云计算架构这层主要是用于以友好的方式展现用户所需的内容,并会利用到下面中间件层提供的多种服务,主要有五种技术:

  HTML:标准的Web页面技术,2013年前主要以HTML4为主,但是将要推出的HTML5会在很多方面推动Web页面的发展,比如视频[1]和本地存储等方面。

  JavaScript:一种用于Web页面的动态语言,通过JavaScript,能够极大地丰富Web页面的功能。

  CSS:主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。

  Flash:业界最常用的RIA(RichInternetApplications)技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验[3]方面,非常不错。

  Silverlight:来自业界巨擎微软[4]的RIA技术,虽然其2013年前的市场占有率稍逊于Flash,但由于其可以使用C#[5]来进行编程,所以对开发者非常友好。

  其次:中间层

  这层是承上启下的,它在下面的基础设施层所提供资源的基础上提供了多种服务,比如缓存服务和REST服务等,而且这些服务即可用于支撑显示层,也可以直接让用户调用,并主要有五种技术;

  REST:通过REST技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。

  多租户:就是能让一个单独的应用实例可以为多个组织服务,而且保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。

  并行处理:为了处理海量的数据,需要利用庞大的X86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。

  应用服务器:在原有的应用服务器的基础上为云计算做了一定程度的优化,比如用于GoogleAppEngine的Jetty应用服务器。

  分布式缓存:通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached。

  服务特征

  (1)服务无处不在--用户只需要一台具备基本计算能力的计算设备以及一个有效的互联网连接,就可以随时随地使用该服务。从这个意义来讲,任何联网的应用,都具备成为云计算平台的潜力。

  (2)具备进入成本--用户具备使用该服务的需求,但是并不具备独立提供该服务的经济或者技术条件。譬如说某些企业需要定期地进行大规模的运算,但是并不值得专门为此购置一台具备大规模运算能力的计算设备。超算中心通过发展客户群让多个用户来分担超级计算机的成本,使得其用户能够在不拥有计算设备的情况下以较小的成本完成计算任务。

  (3)用户决定应用--云计算平台提供计算能力(包括处理器、内存、存储、网络接口),但是并不关心用户的应用类型。用户利用云计算平台所提供的计算能力,并且充分考虑云计算平台所设定的(技术和经济)限制,开发出丰富多彩的应用。满足如上几个条件的云计算平台,又可以按照其所提供服务之层次细分为基础设施服务(IaaS,例如在线存储和数据库服务)、平台即服务(PaaS,例如AMP虚拟主机和JavaEE应用服务器容器)和软件即服务(SaaS,例如GoogleDocs)。很多厂商在提到云计算的时候,往往会同时提到分布式计算(DistributedComputing)、并行计算(ParalleComputing)、网格计算(GridComputing)、实用计算(UtilityComputing)等等概念。事实上用户并不关心这些五花八门的新名词,他们所关心的仅仅是某项服务是否可用以及使用该服务所需要的成本。说得难听点,这些概念仅仅是云计算平台提供商在创建云计算平台时才需要了解的技术细节,它们可以被认为是云计算的表象,但并不是云计算的本质。