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

OpenStack、CloudStack、Eucalyptus和vCloud Director四大主流云平台怎么选?_第1张图片

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

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

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

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

    CloudStack 3.0.0

    CloudStack介绍

    CloudStack是新加入到Apache基金会中的开源云计算平台。CloudStack开发语言为Java,此前为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。功能上的差异信息在这里http://www.eucalyptus.com/products/eee/features。

    社区: 像任何其他的开源产品一样,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四大主流云平台怎么选?_第2张图片