当Facebook 的开源计算项目(OCP)酝酿着设计更好的服务器和网络时,其他开源项目也纷纷重塑数据库,应用平台以及下一代应用程序的虚拟化层。你还不知道吧,下一代的“云”基础设施管理工具终将来自开源产品。
近日,Infoworld Bossie Awards最近公布了2013年最佳开源数据中心和云软件,就产品的质量和性能来讲,这些开源产品都是经得住用户考验的产品,接下来,我们就一起掀开这些获奖产品的神秘面纱吧!
OpenStack
如果你喜欢Amazon EC2提供的简便资源配置,但又担心防火墙之外的隐患时,OpenStack是你的最佳选择。
OpenStack 是由美国国家航空航天局和Rackspace合作研发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell、Citrix、 Cisco、 Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
Eucalyptus
即使OpenStack项目规模庞大,Eucalyptus依然是开源混合云市场的领导者。Eucalyptus是世界上部署最广的内部(私有)基础设施即服务 (IaaS) 云软件平台。该平台采用现有基础设施建立可扩展的安全 WEB 服务层,对计算机、网络和存储进行抽象以提供IaaS服务。Eucalyptus利用现代基础设施虚拟化软件,根据应用负荷建立可动态扩大或缩小的弹性池。EucalyptusWEB 服务专门针对混合云设计,采用了业界标准的 Amazon Web ServicesTM (AWS) API,其优点是高效、提供 IT 即服务的可信度和控制机制。
OpenShift
OpenShift是一款面向开源开发人员开放的平台即服务(PaaS)。 OpenShift通过为开发人员提供在语言、框架和云上的更多的选择,使开发人员可以构建、测试、运行和管理他们的应用。它支持用于Java、 Python、PHP、Perl和Ruby的更多的开发框架,包括 Spring、Seam、Weld、CDI、Rails、Rack、Symfony、Zend Framework、Twisted、Django和Java E。它包含SQL和NoSQL数据存储和一个分布式文件系统。
Cloud Foundry
Cloud Foundry是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。作为新一代云应用平台,Cloud Foundry专为私有云计算环境、企业级数据中心和公有云服务提供商所打造。
Docker
Docker是一个新的开源项目。它是一个功能强大的自动化分布式系统:大规模的Web部署、数据库集群、持续部署系统、私有PaaS、面向服务的体系结构等。Docker是一种增加了高级API的LinuX Container(LXC)技术,提供了能够独立运行Unix进程的轻量级虚拟化解决方案。
MariaDB
MariaDB是一个向后兼容、替代MySQL的数据库服务器。它包含所有主要的开源存储引擎。MariaDB源代码公开存放于Launchpad项目托管平台,同时也提供了二进制和编译包供下载。
MongoDB
MongoDB是一个面向文档的开源数据库系统,是目前众多NoSQL数据库中最流行的一个。MongoDB最大的特性是:高性能、易部署、易使用、存储和操作数据非常方便。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。
Couchbase Server
Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcached 的高性能以及 Membase 的伸缩性。 Couchbase Server不要求你在插入数据前创建一个模式。Couchbase Server的一个特性就是memcached库,允许开发人员实现memcached 环境无缝迁移,并获取数据副本。
Neo4j
Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图像,可以扩展到多台机器并行运行。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图形进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图形的数据量没有任何关系。此外,Neo4j还提供了非常快的图形算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。
Salt
Salt 是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。Saltstack 可以看做是func的增强版+Puppet的弱化版。使用Python编写。非常好用,快速可以基于EPEL部署。