云计算与开源
五、云计算与开源
在互联网上作为俯卧模式和商业模式出现的云计算,正是以开源软件为基础的。开源软件涵盖了云计算的各个方面,尤其是对IAAS模式的云服务,可以完全构建于开源软件之上。
1.虚拟化平台软件Xen和KVM,主要目的是为了建立更多的虚拟机器。Xen首先在Linux系统上做到了普及化。VMware和Xen的区别:前者完全仿真计算机,因此理论上操作系统可以不许更动就直接在虚拟机器上执行;Xen则使用了“半虚拟化技术”,Xen效能更快,但需要对操作系统进行适当的修改,不过较高阶的软件并不需要经过修正。
半虚拟化必须修改系统的内核,不过如果处理器能支持虚拟化,内核就无须异动,例如英特尔的VT和AMD的Pacifica处理器。
在亚马逊的EC2服务中,就使用了Xen提供的虚拟化解决方案。
Xen是独立于操作系统内核的,而KVM则是Linux内核的一部分。与Xen相比,KVM可以随着Linux内核的升级而不断活动新硬件的支持。
2.云基础设施管理平台Eucalyptus与OpenNebula。
Eucalyptus实际上也可以算是亚马逊的AWS的开源实现,提供基础设施租赁服务的虚拟机生命周期管理、弹性资源分配等功能。其目前的接口兼容与亚马逊的EC2和S3以及EBS,整个架构被设计用来支持多客户端界面。
OpenNebula的目标是进行资源和服务的无疆界的虚拟化,最大特色在于将虚拟机器从单一实体机器到一群实体资源。
3.分布式计算框架Hadoop
创始人道格,支持云计算开源实现的主流开源软件。
Hadoop由其分布式文件系统(HDFS)、MapReduce计算框架、锁服务(ZooKeeper)、结构化数据存储服务(HBase)等组成,是Google文件系统与MapReduce分布式计算框架及相关IT基础服务的开源实现。Hadoop是日志分、搜索引擎等MapReduce应用的开元事实标准。
4.云平台访问接口适配层Ilbcloud与Dasein Cloud API
Iibcloud是一组Python API,而Dasein Cloud API是一组Java APIT.主要目标是弥合不同云基础设施提供商之间的API的不同。