软件产品开发公司Altoros Systems的IT基础设施设计师Vadim Truksha在美国《网络世界》上发表一篇文章,详细对比了CloudStack、Eucalyptus、vCloud Director和OpenStack等四个云平台。文章全文如下:

考虑到云计算有极大的潜力提高效率,显著节省成本,实现可升级的基础设施和高性能以及安全的数据存储,云计算仍然是目前IT领域最热门的话题之一。

然而,选择适当的云平台却很难。它们都各有优缺点。因此,当一个客户问我和我在Altoros Systems(一家软件产品开发公司)的同事,什么才是最适合他的项目的云平台和原因时,我们决定深入探索一下目前最有名的几个系统,比较它们的功能,并把结果总结成一个产品对产品的表格。我们测试了CloudStack, Eucalyptus, vCloud Director和OpenStack。

以下你会看到关于免费或商业版的云平台的功能,它们的价格,文档完整性和社区成熟度。此外,在部署过程中发现的错误已被详细错误修复说明解决。(请注意,在此调查发表时,产品可能已经被供应商更新了。)

这一客观比较的目的在于帮助你调整你的业务需求,发现一个特定的云系统的功能,最终选择最适合的产品。

CloudStack 3.0.0

CloudStack介绍

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

CloudStack是一个管理资源计算的数据中心的控制台。一些知名的信息驱动的公司,比如Zynga,诺基亚研究中心,已经使用CloudStack部署了云。除了有其自己的API,该平台还支持CloudBridge Amazon EC2,它可以把亚马逊API转换成CloudStack API。你可以在下面看到一个详细的命令列表。

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

主要特性:

  • 管理程序不可知(KVM, XEN, ESXi, OVM and BareMetal)

  • 角色(分配和管理权限)

  • 虚拟网络(VLAN支持)

  • 资源池(管理员可以对虚拟资源加以限制,例如,一个帐户可以创建的虚拟机的数量,分配到一个 帐 户的公共IP地址的数量,等)

  • 快照和卷

  • 虚拟路由器,一个防火墙和一个负载均衡器

  • 带有主机维护的实时迁移

如果你的数据中心是基于vSphere的,CloudStack会使用vCenter API。这意味着你可以管理你的已使用vSphere 4.1动态部署的数据处理中心。

价格 :CloudStack在GNU Public License v3许可下免费发行。要获得付费支持,你应通过电子邮件联系它的开发者。

社区 :有一个及时提供免费技术支持的在线社区。在论坛里你能找到许多CloudStack问题的解决办法。还有一个IRC频道欢迎大家提问。

文档 :如果有基本的技术水平,以默认设置安装CloudStack平台对你来说相当容易。如果需要进行一个更复杂的安装,你可能会面临一些挑战,因为文档并没有完全涵盖复杂问题。该手册给出了一步步的指示,但大体上来讲,并未提供任何关于平台如何工作的信息。

体验 :我们已经进行了安装,配置了系统并试过了VMware以及KVM集群。CentOS 5.5和CentOS 6.2用于主机。此外,我们的技术团队将我们用CloudStack部署的私有云连接到了RightScale管理控制台。平台易于安装,表现如预期。

可能的问题和错误修正 :在使用CentOS 6时,运行libvirtd时会有一些错误发生。在/etc/cgconfig.conf中加入一下代码可以解决该问题:

group virt { cpu { cpu.shares = 9216; } }

输入代码后,重新开启/etc/init.d/cgconfig并启动libvirtd。

在网页上使用控制也可能引发一些问题。其中一个就是vnc服务器使用127.0.0.1作为主机的默认地址。要检查该问题,请执行如下命令:

netstat -nlp | grep kvmtcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 11673/qemu-kvmtcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 11872/qemu-kvmtcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 15227/qemu-kvmtcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 12587/qemu-kvm

地址如有127.0.0.1,你要在配置文件/etc/libvirt/qemu.conf中取消vnc_listen = "0.0.0.0"这一行的注释,并重启虚拟机。

结论: 使用CloudStack管理控制台给我们的技术团队留下了非常不错的印象。这是一个快速发展中的工具,提供了广泛的功能而且是免费的。它可以用于生产,但如果你使用VMware管理程序,vCloud Director似乎是一个更好的选择。

Eucalyptus Open Source 2.0.3

Eucalyptus是又一个流行的云平台。索尼,彪马,美国航天局,趋势科技等公司都选择用它来部署它们的私有云。Eucalyptus有免费版和商业版。显然,商业版有更多的扩展功能。

让这个平台真正便于工作其中的最大优势之一就是Eucalyptus API完全兼容亚马逊API。因此,基于亚马逊API的所有脚本和软件产品都可轻易用于你的私有云。Eucalyptus支持三种管理程序:XEN,KVM和ESXi。最后一个只对Enterprise Cloud版的用户开放。

主要特性:

  • 角色(分配和管理权限)

  • 管理程序不可知

  • 集群和分区

  • 灵活的网络管理、安全组和流量隔离

价格: 你可以选择开源免费的Eucalyptus Cloud,或是Eucalyptus Enterprise Cloud。功能上的差异信息在这里HPE Helion Eucalyptus

社区: 像任何其他的开源产品一样,Eucalyptus有一个强大的社区,有助于平台开发并协助寻找和修复错误。在安装和设置该产品的过程中我们未遇到任何困难,因此也无法评论社区多有帮助。不管怎样,他们在开发产品上做的很好。

文档 :产品文档涵盖了安装过程,但并没有提供更多的关于使用软件的其他方面的信息。要使用它的用户需要有很强的技术背景,因为该指南没有提供关于虚拟化的信息,而且如果需要更复杂的配置时,它变得毫无用处。

体验: 我们的团队安装了开源版本并按文档中提供的指示配置了平台。我们为云控制器使用CentOS 5.5,为主机使用CentOS 5.5连同XEN管理程序。我们的云被成功添加至RightScale。因为没有管理控制台,所以你要么使用euca2tools,要么将Eucalyptus与RightScale结合使用。商业版有一个管理控制台,使它更加方便用户使用。

可能的问题和错误修正:

1) 一些依赖项接连无法安装。解决办法是,我们用一个安装包一次安装完成。

rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm error: Failed

dependencies: libpython2.5.so.1.0()(64bit) is needed by python25-2.5.1-bashton1.x86_64

rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm python25-devel-2.5.1-bashton1.x86_64.rpm python25-libs-2.5.1-bashton1.x86_64.rpm

2) 安装完成后,控制器开启时,如下可能发生错误:

/etc/init.d/eucalyptus-cc start

Starting Eucalyptus cluster controller:

Enabling IP forwarding(13)Permission denied: make_sock: could not bind to address [::]:8774 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:8774 no listening sockets available, shutting down Unable to open logs Failed to start the CC!

要解决该问题,应禁用Selinux。

3) 如果没有使用XEN的足够经验,你会遇到一些问题。当XEN安装完成后,要加载XEN内核,在配置文件/etc/grub/menu.lst中,参数值default=1应该变成default=0。

4) 还建议在CentOS中创建一个叫libvirt的组,并对该组添加用于运行Eucalyptus的帐户。

结论: 虽然开源版本有一些问题,但解决办法都很简单。此外,商业版还提供了更多功能(VMware管理程序工具,与亚马逊AWS,AD和LDAP integration等兼容)。已经有虚拟环境的人可以使用Eucalyptus云对它进行加强,而不用完全迁移。

vCloud Director 1.5

vCloud Director是一个用于部署VMware开发的云的平台。该系统可以建立混合云,如果你办公地点的整个基础设施是使用VMware产品组建的,那使用vCloud Director将不成问题。你可以使用VMware vCloud Connector将你的虚拟机在私有和公共云之间迁移。

主要特性:

  • 虚拟数据中心

  • vShield保护技术

  • 基础设施服务目录

  • 多租户组织

  • 自服务门户

  • VMware vCloud API,开放虚拟化格式,标注

价格: 很遗憾,该产品没有免费版。你必须联系区域经理来咨询满足你要求的产品包的合适价格。

社区: VMware是市场中领先企业之一,它有一个庞大的社区。还有一个丰富的知识库,它可以作为免费支持服务使用。产品带有一个支持包,该公司可按需求提供额外的付费支持。

文档: 专利软件通常都有高质量的文档,这个平台也不例外。如果你仔细按照指示操作,不会遇到任何困难。

体验: 我们成功地安装和配置了vCloud Director。要提的是,要安装这个平台需要Red Hat。安装还需要的其他东西包括vCenter(带有集群和DRS)和vShield。

显然vCloud Director使用vCenter API。也就是说vCloud Director的用户可以使用vSphere中的全部功能。

结论: 这是一个商业产品,对一些用户来讲这是一个很大的缺点。然而,如果你已经使用VMware来进行虚拟化了,vCloud Director将是最合适的选择。

OpenStack 2011.3

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。

主要特性:

  • 管理虚拟商品服务器资源的能力

  • 管理局域网的能力

  • 虚拟机镜像管理

  • 安全组

  • 基于角色的访问控制

  • 项目及配额

  • 通过网络浏览器的VNC代理

价格: OpenStack 2011.3是开源的,可免费下载。该项目由各种贡献者开发,主要来自于用户捐助。

社区: 与本调查提到的其他产品相比,OpenStack似乎拥有最大和最活跃的社区。社区成员总是愿意帮助别人找到任何出现问题的解决办法。

文档: 然而,OpenStack文档有些不太完整。由于产品快速的发展程度,其文档不能及时覆盖所有目前存在的问题和新功能。通常你需要访问论坛或使用IRC来获得所需信息。

体验: 我们已经成功地安装和配置了Nova,Keystone和dashboard,没有任何严重问题。

结论: 这个开源平台是免费的,而且发展非常迅速。它显示了很大的进步,但在用于产品前仍需很多努力。OpenStack 2011.3已经兼容亚马逊API,dashboard项目目前正在研究中。

总结

如果你决定把你的企业转向云,首要任务之一就是选择一个更适合你公司需求的平台。尽管很难了解供应商在市场营销承诺背后的有什么,我希望本文能有所帮助。本次调查是对所有云产品状况的一个摸底,不掺杂宣传任何系统的意图。

世上没有治百病的良药,即使是最好的云平台(如果有的话)也不能满足所有需求和使用情况。对于一种特定类型的业务,你需要所有涉及的因素,确定你的典型任务,计算风险,分配预算,比较平台的功能和许可证费用。无论你如何看待它,这都将是一个折中方案。问题在于要确保你在一开始就做出了最好的选择。

OpenStack、CloudStack、Eucalyptus和vCloud Director四大主流云平台怎么选?的更多相关文章

  1. 四大主流云平台对比--CloudStack, Eucalyptus, vCloud Director和OpenStack。

    我迟早可能都要进入的领域,提前温习... 还有KVM,ESXI,API,XEN之间的术语和关系,也要心中有数.. ~~~~~~~~~~~~~~~~~~~ 云计算在如今的IT界一直是一个最热门的话题,鉴 ...

  2. VMware vCloud Director network ports diagram

    see:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&exter ...

  3. OpenStack(二)——使用Kolla部署OpenStack-allinone云平台

    (1).Kolla概述 Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署 ...

  4. 【Hybrid App】Hybrid App开发 四大主流移平台分析

    转自http://dev.yesky.com/238/34657738.shtml Hybrid App在过去的两年中已经成为移动界的核心话题,但是作为一名Web开发者来说要如何站在移动互联网的浪潮之 ...

  5. Cloud Computing Deployment Models

    Cloud computing can broadly be broken down into three main categories based on the deployment model. ...

  6. BAT带队烧钱圈地华为们猛追云计算

    在和一位创业者交流时,他说现在创业者想从市场脱颖而出太难了,且不论创业本身的不易,更多时候是想做的事情都被BAT广撒网覆盖了. 现实也正是如此,包括影业.在线音乐.车联网等领域,BAT都已涉足.如今, ...

  7. 制作镜像文件工具packer

    openstack镜像制作要在openstack上创建虚拟机,必然要使用到虚拟机镜像. 对于普通用户,可以使用已经创建好的虚拟机镜像.一般是操作系统官方构建并提供的. 某些用户可以有自己独特的需求,需 ...

  8. Linux Docker虚拟机入门实战讲解

    什么是Docker? Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司.Docker自开源后受到广泛的关注和讨论,目 前已有多个相关项目,逐渐形成了围绕 ...

  9. 单表60亿记录等大数据场景的MySQL优化和运维之道

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

随机推荐

  1. 【python】-- 类的实例化过程、特征、共有属性和私有属性

    实例化过程 1.类的定义和语法 class dog(object): #用class定义类 "dog class" #对类的说明 def __init__(self,name): ...

  2. 【python】-- 事件驱动介绍、阻塞IO, 非阻塞IO, 同步IO,异步IO介绍

    事件驱动介绍 一.前言 通常,我们写服务器处理模型的程序时,有以下几种模型: (1)每收到一个请求,创建一个新的进程,来处理该请求: (2)每收到一个请求,创建一个新的线程,来处理该请求: (3)每收 ...

  3. The Princess and the Pea,摘自iOS应用Snow White and more stories

    Once upon a time there was a prince who wanted to marry a real princess.从前,有个王子想和真正的公主结婚. He looked ...

  4. 1.搭建Django开发环境

    1.安装python(版本3.5.1) 官网下载:https://www.python.org/downloads/release/python-351/2.更新pip 命令:python -m pi ...

  5. picasso设置背景图片

    compile'com.squareup.picasso:picasso:2.5.2' String url = "http://192.168.191.1:8080/b"+(i+ ...

  6. [iOS]通过JS调用iOS函数时的URL编码问题

    在前面的文章:[iOS]在WebApp中怎样使用JS调用iOS的函数 中,提到了怎样使用JS通过改动URL调用iOS的内部函数. 当中会遇到一个问题,就是编码问题.比方通过URL调用弹窗,在里面写上内 ...

  7. bug-2——tab中beforeActivate:在对象活动前触发

    $j("#tabs").tabs({ beforeActivate:function(event,ui){ var ret = apoCheck('${requestScope.a ...

  8. did not find a matching property (tomcat+Eclipse 报错)

    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclips ...

  9. [Java面试一]Spring总结以及在面试中的一些问题.(转发:http://www.cnblogs.com/wang-meng/p/5701982.html)

    1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...

  10. 从mysqldump整库备份文件中恢复单表

    最近,系统更新出现了问题,比较紧急,需要对三张表进行回档.由于我们都是采用mysqldump进行每天全备整库,数据量比较大,一个备份文件大概有70G,需要从这个70G文件中恢复三张表,真是蛋疼至极啊, ...