本节书摘来自华章出版社《openstack实战指南》一 书中的第1章,第1.4节,作者:黄 凯 毛伟杰 顾骏杰 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
openstack并不是唯一的开源基础设施服务,在谈论openstack的时候用户一定会拿cloudstack与之相对比。对比openstack和cloudstack这两个云计算产品,有助于了解它们两者的本质。它们的每一个设计都具有相同的目标,即提供一套开源组件,利用各个组件的必要功能来管理云中成千上万的单台服务器,两者都旨在成为构建私有云、公有云的云资源服务提供者。
openstack和cloudstack具有相似的功能组件,如计算、网络、存储。计算方面,都支持将虚拟机分配到单独的服务器,管理协调计算资源的使用。网络方面,提供虚拟、物理网络管理功能,包括虚拟交换机创建和管理虚拟机网络。存储方面,分别含有对象和块存储系统、镜像管理功能和云计算管理接口这些组件。虽然这两者有共同的目标,并具有相似的基本功能,但其历史和项目的组织是不同的。
1.?openstack历史
2010年,美国国家航空航天局联手rackspace,在建设美国国家航空航天局的私有云过程中,创建了openstack项目,之后他们邀请其他供应商提供组件,建立一个完整的开源云计算解决方案。
2010年诞生的第一个版本austin只包含rackspace和美国国家航空航天局的组件。之后发布的版本包含了已加入该项目的供应商开发的附加组件。最初,rackspace独立管理openstack项目,随着openstack的不断发展,在2012年创建了openstack基金会,该基金会由选举产生的董事会监管。openstack的技术委员会由每个核心的软件项目和项目领导等组成。
目前,openstack.org有声称来自87个国家或地区的850个基金会成员。白金会员提供最高水平的支持,其次是黄金会员、赞助企业和个人会员。当前,白金会员有at&t、hp、ibm和rackspace等公司或组织;黄金会员有思科、戴尔、vmware等公司。开源协议是apache 2.0。openstack代码可免费下载。
2.?cloudstack历史
cloudstack始于cloud.com,其目标是使服务供应商和企业创建、运营其能力类似于亚马逊公司的公有云、私有云。2010年,cloud.com提供了基于gplv3的社区版本,供用户免费下载,并随后发布了两个支持版本。
思杰(citrix)公司在2011年7月收购了cloud.com。思杰公司是openstack社区早期成员之一,但在2012年决定离开openstack社区。据媒体报道,做出这一决定是因为思杰公司认为,最初由cloud.com提供的代码相比openstack更稳定,可为用户提供更多的功能。
2012年4月,思杰公司提交了cloud.com的代码给apache软件基金会,现在在apache基金会的apache 2.0许可证下进行代码开发,思杰公司将继续提供版本支持及解决方案支持。由于过渡到了apache,其他厂商也纷纷加入到了开发队伍,增加功能和增强核心软件。
还有一点不同是,openstack的基金会中会有供应商的名单,不同于cloudstack的发布者名单。因为apache基金会负责了大量的项目,而apache项目成员均以个人名义被列入,而不是他们所代表的公司。
在apache项目中,由感兴趣的公司制定独立工作人员的工作项目。当前,cloudstack项目成员中有一些思杰公司的员工和一些目前不太知名的公司,如sungard、schuberg philis、tcloud computing和epam systems等。项目的发展方向由个别参与者所代表的雇主的意愿来决定。
3.?openstack与cloudstack历史对比
cloud.com致力于开发和发展一个更大的开源云社区。因此,大部分cloudstack的核心组件由cloud.com开发,然后由思杰公司增强。
相比之下,openstack项目从最开始就发展开放社区,其直接结果是,openstack里聚集了比cloudstack更多的主流供应商。在大多数情况下,这些厂商开发的组件第一时间提供给openstack,之后才为cloudstack提供接口。
此外,思科和nicira公司已经成为openstack网络组件neutron的主要开发者。neutron接收来自虚拟机的指令来定义虚拟机所需要的网络,然后发送指令给交换机和路由器来创建这些网络。现在,思科和nicira公司已经写完了openstack的网络模块,正在为cloudstack做同样的适配。
每个交换机的供应商必须为neutron提供插件。这个插件在neutron中转换为特定厂商设备的特定命令语法。extreme networks和brocade这两个openstack基金会成员同样先为openstack提供插件,再进行cloudstack支持。
openstack为分布式组件模式,可以选择性地部署需要的组件,如网络组件neutron、块存储组件cinder、计算组件nova,按需部署,按需取用。相比之下,cloudstack是一个可插拔式的模型,通过可插拔模型来实现sdn、ip分配、lbaas、防火墙、vpc、vxlan等,而这些功能openstack也都支持。
openstack和cloudstack支持的虚拟机hypervisor也基本类似,同样支持kvm、xenserver、vmware,不同的是,openstack还支持hyper-v、powervm、lxc via libvirt、baremetal、qemu、docker。
openstack也有不够完善的地方,如openstack相对于cloudstack来说更加复杂,对终端用户的支持不够;在安装部署上不如cloudstack便捷;在界面显示方面也不如cloudstack丰富。
要确定企业的合适部署,就必须仔细对比每一个解决方案,然后再进行选择。思杰公司向大型服务供应商、大学以及其他机构展现了cloudstack的成熟和稳定。而要关注openstack的稳定性可以查看ibm、戴尔和rackspace等公司的解决方案。这两款产品一直在持续发展,提供了一系列的存储和网络的选项。随着openstack icehouse的发布,openstack拥有了不错的3层网络支持。以前,cloudstack一直宣称有与亚马逊公司的ec3更好的兼容性,但openstack在这一领域的能力已明显提高。企业必须确定它们的实际要求,再仔细检查每一个解决方案是如何满足它们的需求的。虽然两者都支持一些广泛使用的虚拟机管理程序,但是企业仍然需要评估哪一个提供了最需要的虚拟机管理程序支持,以及哪个方案对现有的网络设备、存储设备和服务器设备提供了较好的支持。另外,还可以向正在使用产品的集成商或var询问他们的具体经验与解决方案中的一个或两个。确保考虑了上述所有这些因素,才会让客户做出最终的正确选择。