面向云平台的物联网多源异构信息融合方法
上QQ阅读APP看书,第一时间看更新

2.2.2 主流开源云计算介绍

普通用户对开源的印象好像也就是免费而已,很多时候还怀疑免费的东西到底能不能用,是不是别人留下来的陷阱之类的。但实际上免费只不过是开源的外在表现形式,源代码公开只是终端用户看见的冰山一角。其实公开的不只是源代码那么简单,还有开发日志、测试用例、错误总结、数据分析等。这能极大地节约开发人员的时间和精力——不必做大量机械重复的工作,可以更专注于新功能的开发。很多人认为做这些是没有回报的,是纯粹的奉献。这种理解当然是错误而又片面的。在一个形成良性循环的开源社区里,每一个社区成员,既是奉献者也是获益者。从社区中学到的,其实远大于贡献的。

目前主流的开源云计算软件有Apache CloudStack、Eucalyptus、OpenNebula、OpenStack,并且都已经形成了各自的开源社区。

尽管Java不会继续是主要云程序的核心了,但至少它现在仍然处在这一重要地位上。Apache CloudStack的核心就是用Java编写的。其可以与VMware、Hyper-V、KVM和XenServer/XCP上的主机共同协作。为了部署和管理虚拟系统,Apache CloudStack不知不觉间就形成了大型网络。这个网络后来被许多供应商选为部署私有云等解决方案的平台。

当前虽然只在红帽Linux和CentOS上出现过,但是作为一种完整的基础设施服务解决方案,Eucalyptus已经受到了界内很多关注。Eucalyptus是一样功能齐全的商品。Eucalyptus可以为不同服务提供与语言无关的API。在Linux系统的基础上,用户可以使用基于标准的模块架构,在现有设备的基础上部署私有云。

OpenNebula号称在数据中心虚拟化的方向上提前迈出了一步。该项目的研究方向是,开发具有自适应能力的虚拟化数据中心。现在正在谋求有志之士的合作,期望获得相应的稳定性和合格的质量。它有自己独有的核心价值优势,包括流程的开放、项目生命周期以及特有的创新。

在所有基础设施服务解决方案中,OpenStack是横跨多个领域的解决方案。难得的是,这种解决方案并不需要用到指定的硬件设备或软件环境。它完全可以在虚拟的裸机上运行,同时还能支持多种管理虚拟机的程序。尤其当OpenStack与Hadoop协同运行时,可以从纵横两个方向上扩展,以满足大数据要求。