当前位置:文档之家› 几种常见云计算平台分析比较

几种常见云计算平台分析比较

云计算平台比较分析云计算按照应用层次,主要划分为IaaS、PaaS和SaaS三种层次的应用,这里主要分析常见的IaaS平台。

目前市面上常见的IaaS应用主要有Amazon的AWS,基本上已经成为整个行业的标准。

IaaS在开源领域也是百花齐放,最著名的开源平台为:Eucalyptus、Openstack和Cloudstack、Opennebula、Nimbus,在国内社区比较火热的主要是前三种,所以在这里主要分析一下前三种平台。

1.云平台分析1.1.Eucalyptus1.1.1.概述Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems(Eucalyptus)是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。

它最初是美国加利福尼亚大学Santa Barbara计算机科学学院的一个研究项目,现在已经商业化,发展成为了Eucalyptus Systems Inc。

不过,Eucalyptus 仍然按开源项目那样维护和开发。

Eucalyptus Systems 还在基于开源的 Eucalyptus 构建额外的产品;它还提供支持服务。

Eucalyptus是在2008年5月发布1.0版本,在2009年与Ubuntu进行合作,成为Ubuntu server9.04的一个重要特性,目前最新版本是2.0.3,可以选择Xen、KVM作为虚拟化管理程序,对vSphere ESX/ESXi提供了支持。

Eucalyptus主要是用C和Java开发的,其中CLC是由java完成的,Tools 是由perl完成的,其他的都是C完成的。

1.1.2.架构图表 1 Eucalyptus架构图Eucalyptus主要有五个组件组成,分别是:CLC(Cloud Controller:云控制器)、CC(Cluster Controller:集群控制器)、NC(Node Controller:节点控制器)、SC(Storage Controller:存储控制器)和Walrus。

CLC 云控制器:负责管理整个系统。

它是所有用户和管理员进入 Eucalyptus 云的主要入口。

所有客户机通过基于 SOAP 或 REST 的 API 只与 CLC 通信。

由CLC 负责将请求传递给正确的组件、收集它们并将来自这些组件的响应发送回至该客户机。

这是 Eucalyptus 云的对外“窗口”。

Walrus:负责管理对Eucalyptus内的存储服务的访问。

请求通过基于 SOAP 或REST的接口传递至Walrus。

CC 集群控制器:负责管理整个虚拟实例网络。

请求通过基于 SOAP 或 REST 的接口被送至 CC。

CC 维护有关运行在系统内的 Node Controller 的全部信息,并负责控制这些实例的生命周期。

它将开启虚拟实例的请求路由到具有可用资源的 Node Controller。

NC 节点控制器:主要负责控制主机操作系统及相应的 hypervisor(Xen、KVM或VMWare)。

必须在托管了实际的虚拟实例(根据来自CC的请求实例化)的每个机器上运行 NC 的一个实例。

SC 存储控制器:实现了Amazon的S3接口,SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。

其中,VM 映像可以是公共的,也可以是私有的,并最初以压缩和加密的格式存储。

这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。

一个 Eucalyptus 云安装可以聚合和管理来自一个或多个集群的资源。

一个集群是连接到相同 LAN 的一组机器。

在一个集群中,可以有一个或多个 NC 实例,每个实例管理虚拟实例的实例化和终止。

1.1.3.安装图表 2 多集群安装拓扑图1.1.4.具体功能1)可用来在Amazon的EC2基础设施上创建一个公共云,或者在您的数据中心内创建私有云。

2)虚拟化和云快照功能,可提升集群的可靠性。

3)与EC2和S3的接口兼容性(SOAP接口和REST接口)。

使用这些接口的几乎所有现有工具都将可以与基于Eucalyptus的云协作。

4)支持运行在Xen hypervisor、KVM和vmwar vSphere ESX/ESXi之上的VM的运行。

5)用来进行系统管理和用户结算的云管理工具。

6)能够将多个分别具有各自私有的内部网络地址的集群配置到一个云内。

1.1.5.优缺点1)开源和开发:Eucalyptus的创建是为了促进云计算平台方面的交流和研究。

它以源代码的形式提供免费使用,这就使得您很容易透过其表面看到它的实质,或是针对自己的需求创建该平台的扩展。

开发的步调很快。

特性以及改进不断被添加到Eucalyptus,但是目前只有部分源代码开放。

2)杰出社区:Eucalyptus 具有一个由愿意与他人免费共享自己见地的热情而博学的用户组成的杰出社区。

他们的论坛是您获得支持并与其他Eucalyptus 用户交互的一个很好的途径。

3)公共云:Eucalyptus 可很容易地作为一个公共云安装和运行在Amazon的EC2框架上。

4)私有云:Eucalyptus可被作为运行在您的基础设施之上的私有云安装于防火墙后的数据中心内。

这样,您就获得了对安全性和环境的全面控制。

5)可移植性:得益于Eucalyptus与Amazon的EC2 API的兼容性以及Eucalyptus的灵活性,可以很容易地将应用程序从一个云迁移到另一个云。

甚至可以创建混合云来同时使用公共和私有云。

6)经过了良好的测试:Eucalyptus 现在是Ubuntu Enterprise Cloud 的一部分,并且是全球数千个Ubuntu 服务器的一个组件。

这种测试规模将会很快巩固Eucalyptus 平台的稳定性。

7)商业支持:当前支持的商业服务只有Amazon的EC2,随后会逐渐增加多种客户端接口。

8)兼容的系统:Eucalyputs可以兼容多个linux发行版,包括Ubuntu、CentOS、Redhat、openSUSE以及freeBSD。

9)1.1.6.应用将具体应用程序整体打包制作成系统,通过Eucalyptus管理系统装载到一个虚拟机实现上。

1.2.OpenStack1.2.1.概述OpenStack是在2010年7月由Rackspace Cloud和NASA(美国航天局)共同开发支持,整合了Rackspace的Cloud Files Platform和NASA的Nebula Platform技术,目的是能为任何一个组织创建和提供云计算服务。

目前已经有超过150个公司与机构参与OpenStack项目,包括Crtrix、Dell、AMD、Inter、Cisco、HP等。

主要有三个核心项目组成,分别是:计算(nova)、对象存储(swift)和镜像管理(Glance)。

每个项目可以独立安装运行。

OpenStack是用Python完成的。

Ubuntu作为OpenStack的首选系统,很多OpenStack的文档都是基于Ubuntu来完成的。

1.2.2.架构图表 3 openstack组成架构图从上图可以看到,OpenStack主要有三个子项目,Nova、Swift和Glance。

Nova:也称之为OpenStack Computer,是云计算控制器,主要负责控制IaaS 云计算平台,其功能类似于Amazon的EC2。

Swift:也称之为OpenStack Object Storage,是一个可扩展的对象存储系统,支持多种应用,例如复制和存档数据、图像或视频服务、存储次级静态数据、开发数据存储整合的应用,存储超大容量数据等。

其功能类似于Amazon的S3。

Glance:也称之为OpenStack Image Service,是一个虚拟机镜像的存储、查询和检索系统。

OpenStack也可以单独提供其中的每个子项目搭建云平台,当然也可以将这三部分组合起来。

1.2.3.实现原理OpenStack 首先将数据中心虚拟化,利用管理程序提供应用程序和硬件之间抽象的对应关系。

如图:OpenStack通过两个方法实现数据中心虚拟化。

1. 为每个服务器提供了抽象的硬件(例如第一台主机HOST 1 ,其实提供了抽象的4台主机,而上面的四台主机或许是一台抽象的服务器)。

2. 实现对每个服务器资源的更好的利用,利用了虚拟机,下图是更多的实现上面每个虚拟的服务器,或者网络,或者存储设备之后都是一个Pool,这样无论对资源的分配还是对请求响应都是更加灵活而有效。

OpenStack 完成数据中心虚拟化后,OpenStack 提供对云进行管理的一层,负责在云上部署各种应用和文件,同时还要提供对应用和文件的检索,创建和分配虚拟机,当虚拟机用完之后还要撤销,要提供用户和管理员接口,用户要能知道自己的应用的情况,管理员也要能知道整个云的运行情况,负责云存储的分配,检索,收回。

1.2.4.具体功能OpenStack有很多关键特性,这些特性主要有:1)管理虚拟化的产品服务器和相关资源(cpu,memory,disk,network),提高其提高其利用率和资源的自动化分配(具有更高的性价比)。

2)管理局域网(Flat,Flat DHCP, VLAN DHCP ,IPv6),程序配置的IP和VLAN,能为应用程序和用户组提供灵活的网络模式。

3)带有比例限定和身份认证:这是为自动化和安全设置的,容易管理接入用户,阻止非法访问。

4)分布式和异步体系结构:提供高弹性和高可用性系统5)虚拟机镜像管理:能提供易存储,引入,共享和查询的虚拟机镜像6)虚拟机实例管理:提高生命周期内可操作的应用数量,从单一用户接口到各种API,例如一台主机虚拟的4台服务器,可以有4中API接口,管理4个应用。

7)创建和管理实例类型(Flavors):为用户建立菜单使其容易确定虚拟机大小,并作出选择。

8)iSCSI存储容器管理(创建,删除,附加,和转让容器):数据与虚拟机分离,容错能力变强,更加灵活。

9)在线迁移实例。

10)动态IP地址:注意管理虚拟机是要保持IP和DNS的正确11)安全分组:灵活分配,控制接入虚拟机实例。

12)按角色接入控制(RBAC)。

13)通过浏览器的VNC代理:快速方便的CLI administration。

1.2.5.与Eucalyptus的不同以下是从网络上找到的分析报告。

Eucalyptus和OpenStack对比分析报告名称系统架构Eucalyptus Eucalyptus是一个与Amazon EC2兼容的IaaS系统。

相关主题