OpenStack 与 CloudStack比较

OpenStack 与 CloudStack比较

OpenStack介绍

OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。

OpenStack主要包括以下几个子项目:OpenStack Compute(Nova)、云对象存储Cloud ObjectStorage(Swift)、镜像管理 (Glance)、身份识别Identity(Keystone),网络连接管理Network Connectivity(Quantum)、Web管理界面DashBoard等。

目前有超过150家公司参与了Openstack项目,包括HP,Dell,AMD,Intel,Cisco,Citrix等公司,国内有如新浪、华胜天成、H3C等公司也参与了OpenStack项目。此外微软在2010年10月表示支持OpenStack 与Windows Server 2008 R2的整合,而Ubuntu在11.04版本中已开始集成OpenStack。OpenStack是目前最受关注与支持的开源云计算平台之一。

OpenStack 以Python编写,这意味着相比其他以C/C++或Java编写的开源云计算平台,OpenStack更容易修改与调试等。OpenStack整合了Tornado网页服务器、Nebula运算平台,使用Twisted框架,目前OpenStack支持的虚拟机宿主包括KVM,XEN,VirtualBox,QEMU,LXC等。

OpenStack至今共有5个版本,最新版本代号为 Essex。

CloudStack介绍

CloudStack是新加入到Apache基金会中的开源云计算平台。CloudStack开发语言为Java,此前为Cloud.com研发应用的商业软件,此后被Citrix思杰收购,2012年4月5日思杰宣布将CloudStack项目提交至Apache基金会,CloudStack成为Apache许可下的完全开源软件。

CloudStack平台可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。其最新版本的CloudStack 3颇具Amazon亚马逊风格,它帮助那些希望效仿全球最成功云平台来构建云设施的企业用户,快速而轻松地将虚拟数据中心资源转入自动化、富于弹性且可自我服务的云平台中。另外,CloudStack兼容亚马逊API接口,允许跨CloudStack和亚马逊平台实现负载兼容。使用CloudStack作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务。

OpenStack 与CloudStack的比较

2012年4月5日Citrix宣布将CloudStack开源软件加入到Apache软件基金会,CloudStack与OpenStack同成为Apache许可下的完全开源云计算平台,同时也成为OpenStack最有力的竞争对手。

截至目前OpenStack在市场宣传、影响力方面远胜过CloudStack,支持伙伴、社区开发人数及讨论话题数、活跃程度等也高于CloudStack,但CloudStack的平台成熟度要优于OpenStack,CloudStack的用户体验及安装容易度也都比OpenStack要好,并已在更具生产实际的环境中得到了充分验证,而OpenStack到目前为止则更像是仍处于研发阶段难以称为“成熟的产品化的IT产品”。

整体比较

比较项

CloudStack

OpenStack

服务层次

IaaS

IaaS

授权协议

Apache 2.0

Apache 2.0

许可证

不需要

不需要

动态资源调配

主机Maintainance模式下自动迁移VM

无现成功能,需通过Nova-scheduler组件自己实现

VM模板

支持

支持

VM Console

支持

支持

开发语言

Java

Python

用户界面

Web Console,功能较完善

DashBoard,较简单

负载均衡

软件负载均衡(Virtual Router)、硬件负载均衡

软件负载均衡(Nova-network或 OpenStack Load Balance API)、硬件负载均衡

虚拟化技术

XenServer,Oracle VM,vCenter,KVM,Bare Metal

XenServer,Oracle VM,KVM,QEMU,ESX/ESXi,LXC(Liunx Container)

最小化部署

一管理节点,一主机节点

支持All in one(Nova,Keystone,Glance组件必选)

支持数据库

MySQL

PostgreSQL,MySQL,SQLite

组件

Console Proxy VM,Second Storage VM,Virtual Router VM,Host Agent,Management Server

Nova,Glance,Keystone,Horizon,Swift

网络形式

Isolation(VLAN),Share

VLAN,FLAT,FLATDhcp

版本问题

版本发布稳定,不存在兼容性问题

存在各版本兼容性问题

VLAN

不能VLAN间互访

支持VLAN间互访

实际安装与运行测试的比较

1. OpenStack文档资料数相对于CloudStack较多,且安装过程等讲解较具体。但是因为不同版本间OpenStack可能差异较大,如果实际安装版本与文档中使用版本不一致可能会遇到问题。

2. OpenStack安装过程较复杂,尤其是网络配置部分比较麻烦,而这方面资料较少,讲解不够具体。CloudStack安装过程较简单,但是后续运行中各种配置等问题相关文档少有提及。

3. OpenStack 的Web 管理界面DashBoard目前为止较简单,可能存在bug也较多,但中文翻译较好,并提供一些帮助信息;CloudStack的Web管理界面功能较多,但中文翻译不彻底,缺少帮助提示等信息。两者使用Web界面管理均出现类似删除虚拟机一直删除不掉等问题。

4. 测试发现OpenStack可超载创建虚拟机,但所创建虚拟机经常出现无法启动的情况。而CloudStack对虚拟机的资源占用管理较严格,无法超载创建虚拟机,因此对主机节点的硬件配置要求较高。

5. CloudStack支持通过模板(Template)或ISO创建虚拟机,但上传模板、ISO及创建虚拟机等过程均耗时较长;OpenStack在实验过程中为直接从网上下载img文件创建虚拟机,耗时很短即可创建成功。

6. 两者创建的虚拟机均可以通过Web管理界面进入管理,但测试中OpenStack创建的虚拟机虽然附加了局域网IP,但网卡实际绑定IP为私有IP,未找到如何通过SSH直接访问的办法。CloudStack创建的虚拟机使用了分配的Guest IP,可通过SSH连接访问。

推荐阅读