Rackspace和NASA近日联手推出的云计算软件堆栈OpenStack在开源软件与云计算业界激起阵阵涟漪。简单来说,OpenStack为那些希望给用户提供云服务的托管供应商们创造了进入云计算领域的机会,就像Parallels Virtuozzo为Web托管公司开发了虚拟化私有服务器。
随着对实际云计算与IaaS背后安全问题的理解逐渐加深,OpenStack为用户在将业务迁移到私有云或公共云之前提供了安全方面的自助云服务和私有测试实验室。在云计算业界,OpenStack虽然被誉为是最重要的产品,但同样存在缺陷。
想搭上云计算供应商Amazon这艘航母吗?那么,你就需要转向市场上的另一款开源云计算产品Eucalyptus。Eucalyptus推出已经有3个年头了,对于IaaS产品而言算是不短的时间了。Eucalyptus最初源于圣巴巴拉市(Santa Barbara)加州大学计算机科学院的一个研究项目,到2009年它成为盈利型项目。
Eucalyptus的优势
首先,Eucalyptus的一大优势就是自身的开源软件组件无需修改即可使用,这也意味着它可以轻松地运行在没做修改的GNU Linux内核上。Ubuntu的内嵌云计算平台同样也是基于Eucalyptus的,下载后即可安装使用,操作起来更是非常的方便。
但这些都不足与Eucalyptus最大的优势相提并论:它设计了与Amazon的EC2平台兼容的开放编程接口(API)。这意味着一家评估EC2的公司可以在免费的操作系统上使用免费软件来构建相互兼容的测试实验室。同样Amazon的用户,也可以在将工作移向实际云环境之前采用Eucalyptus从事开发工作。此时的Eucalyptus更是减轻了决策者对于云计算的忧虑。
有趣的是,Eucalyptus也曾被NASA加利福尼亚州的Ames研究中心应用到Nebula平台项目上来,直到碰到Eucalyptus部分未开源部分才迫使他们放弃了Eucalyptus。最初的问题仅仅是扩展性问题,这也是大部分产品最初都会遇到的问题,但是Eucalyptu与NASA的裂痕发展到无法挽回的地步,却是因为NASA发现Eucalyptus不愿向该项目提供解决扩展性问题的代码,即便是该项目并未与Eucalyptus Systems Inc(Eucalyptus幕后的实体公司)造成利益冲突。
因为Eucalyptus项目并非完全开源。Eucalyptus幕后公司维护着部分代码,这些代码关系到商业版Eucalyptus Enterprise Edition(E3)的诸多特性,例如管理、SAN集成、更为出色的后台数据库以及与VMware的兼容性,这些功能对公司而言,既不可能也不愿意开源。而OpenStack则是100%的开源产品,虽然它目前还没有提供以上特性功能,但是这些已都被列入了它的技术发展路线。
Eucalyptus也并非100%实现了与Amazon EC2的兼容。虽然它实现了大部分EC2的APIs(以及部分EC3 APIs),但是它不是,也不愿意成为完全的EC2副本。Eucalyptus的出色之处在于及时交付、创建新服务器的守护进程,接近实时的自动化。这不光减轻了IT资源的负担,同时也提高了应对突发需求的效率。只要被交付的服务器是其支持的类型(主要针对EC2用户),都可以很好地使用Eucalyptus取代EC2,或是将Eucalyptus作为迁移服务器或模块至EC2之前的测试区。
目前,Eucalyptus是仅有的全功能云计算产品,它遵守包括自身在内的任何标准,同时它选择了同这个市场的最大赢家Amazon结盟。Eucalyptus依靠它在IaaS的声誉获得了重要的市场份额。
OpenStack会如何影响开源
从历史上来看,开源社区对经济发展与计算机业创新都有着深远的影响。众所周知,开源软件推动了早期的单机应用向商业化转型。在数据库方面,我们只需观察MySQL和PostgreSQL;在Web服务器方面,同样有着开源的Apache;而应用服务器方面,则有Tomcat,JOnAS、JBoss、Jetty和GlassFish;在编程与脚本语言方面,有Java、Perl和PHP。GNU Linux更是对商业化操作系统以及手机操作系统做出了众多贡献。
OpenStack承诺为云计算商品提供技术支持。虽然市场总为非开源项目留有空间,但开源软件同样对其影响深远,它推动着创新与系统间的相互协作。
理论上,OpenStack以全开源方式提供给我们所需的功能。尽管它已经吸引到一线厂商的关注(Citrix、Dell、NTT等),但毕竟还只是个功能有限又缺乏成熟与稳定的“开发测试版”。而占据优势的Eucalyptus又将对开源云计算平台市场产生怎样的影响?它会随着市场变化,在兼容性和开放性上逐渐完善,还是固守成规默默地退出历史舞台?一切都需要市场的检验