OpenStack

OpenStack是由Rackspace与NASA于2010年7月共同推出的云计算开源项目,目的是提供大规模云操作系统,支持类似AWS功能的IaaS平台。目前已经成为仅次于Linux的最大的开源社区,其会员覆盖几乎所有主流的IT供应商。OpenStack广泛在互联网公司和传统企业间部署,并因经诞生了许多创业公司。

OpenStack拥有非常好的架构,这体现在所有功能全部模块和API化,模块之间松耦合。

但OpenStack的稳定性、可用性及高级功能还很薄弱,只有少数拥有极强技术实力的公司可以掌握。相对于CloudStack、Eucalyptus和OpenNebula,OpenStack的部署难度更大。

编程语言: Python

服务商: Rackspace

Syncthing

Syncthing是一个开源的云存储和同步服务工具,支持Mac OS X、Windows、Linux、FreeBSD和Solaris。Syncthing由瑞典开发者Jakob Borg发布的,据称用户的数据将由自己完全控制,所有的通信全都加密,每个访问节点都用加密证书验证。该项目被认为是Dropbox和BitTorrent Sync的开源替代。

CloudStack

CloudStack是一个开源的具有高可用性及扩展性的云计算平台,可以让用户快速和方便地在现有的架构上建立自己的云服务,并可以帮助用户更好地协调服务器、存储、网络资源。

CloudStack最初由VMOps公司(后改名为Cloud.com)开发。在2010年5月,Cloud.com同时发布了CloudStack的开源版(采用GPLv3许可)与企业版(保留5%左右的私有代码)。2011年7月,Citrix 2亿美金收购了Cloud.com,并退出了OpenStack组织。

2012年4月,Citrix将CloudStack贡献给Apache软件基金会,成为Apache孵化项目之一,采用Apache 2 licence协议开源,此时CloudStack版本是3.0。2013年3月,CloudStack孵化成功,成为Apache的顶级项目。

开发语言:Java(主...

AbiCloud

AbiCloud 是一款用于公司的开源的云计算平台,使公司能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器、网络、应用、存储设备等)。较之同类其他产品的一个主要的区别在于其强大的Web界面管理。你可以通过拖拽一个虚拟机来部署一个新的服务。这个版本允许通过VirtualBox部署实例,它还支持VMware,KVM和Xen。

Hadoop

Hadoop是一个由Apache基金会开发的分布式系统基础架构,是解决大数据不可忽略的工具。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,适合有超大数据集的应用程序,提供流的形式访问文件系统中的数据。另外,Hadoop还实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。MapReduce和HDFS的设计,使得整个框架能够自动处理节点故障。

Apache Curator

"zookeeper的客户端调用过于复杂,Apache Curator 就是为了简化zookeeper客户端调用而生,利用它,可以更好的使用zookeeper。这是NetFlix释放的又一个开源项目。获得一个ZooKeeper连接只需要下面代码:CuratorFrameworkFactory.newClient(zookeeperConnectionString, retryPolicy)"

Eucalyptus

Eucalyptus是一个开源的云管理平台,通过它用户可以建立私有云或公有云平台,2008年3月29日发布1.0版。虽然OpenStack也号称支持AWS API,但只有Eucalyptus获得了AWS的官方授权,将兼容AWS API上升到企业战略与核心竞争力的层面。用户能够在私有云环境中继续使用各种现有的与AWS API相兼容的工具、脚本和映像(AMI),能够在基于Eucalyptus的私有云和AWS公有云之间迁移负载和数据,或者是将基于Eucalyptus的私有云作为开发测试环境但是将AWS公有云作为生产环境。

相对于OpenStack,Eucalyptus有更高的成熟度。但其采用了对商业不太友好的GPLv3协议授权,限制了整个生态圈的发展。

开发语言:Java,C

Apache CloudStack

CloudStack形成的基础设施云和数据中心运营商可以快速,轻松地建立在其现有的基础设施提供云服务的需求,弹性云计算服务。 CloudStack用户可以充分利用云计算提供更高的效率,无限的规模和更快地部署新服务和系统的最终用户。CloudStack 是一个开源的云操作系统,它可以帮助用户利用自己的硬件提供类似于Amazon EC2那样的公共云服务。CloudStack可以通过组织和协调用户的虚拟化资源,构建一个和谐的环境。CloudStack具有许多强大的功能,可以让用户构建一个安全的多租户云计算环境。CloudStack 兼容Amazon API 接口。CloudStack可以让用户快速和方便地在现有的架构上建立自己的云服务。CloudStack可以帮助用户更好地协调服务器、存储、网络资源,从而构建一个IaaS平台。

jclouds

jclouds是一个开源的Java类库,云计算开发包,用来帮你开始云计算应用开发,并可重用已有的Java和Clojure技能。该API提供云计算环境的可移植抽象层以及云规范特性,支持Amazon、VMWare、Azure和Rackspace等云计算平台。jclouds接口简单,运行时有可迁移性,可以处理基于网络的计算引入了一些问题,如瞬时失败和重定向。jclouds提供了Stub connection来模拟一个云而无需创建网络连接。通过此方法,你可以编写单元测试而不会有模拟的复杂性或远程连接的脆弱性。

Apache ZooKeeper

Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKeeper节点将它们的数据存储于一个分层的命名空间,非常类似于一个文件系统或一个前缀树结构。客户端可以在节点读写,从而以这种方式拥有一个共享的配置服务。更新是全序的。ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。