云平台构建与管理
上QQ阅读APP看书,第一时间看更新

1.3.2 开源云管理平台

开源云管理平台正在云计算方面发挥着越来越重要的作用,甚至在云计算产业中占据主导地位。OpenStack直接带动了开源云平台的市场,在一定程度上对AWS和VMware垄断的IaaS和虚拟化层造成了冲击。

1.OpenStack开源云管理平台

开源的平台意味着不会被某个特定的厂商绑定和限制,而且模块化的设计能把遗留的云计算资源和第三方的技术进行集成,从而来满足自身业务需要。OpenStack项目所提供的云计算,让IT团队可以成为自己的云计算服务厂商,虽然构建和维护一个开源私有云计算并不适合每一家公司;但是如果拥有基础设施和开发人员,OpenStack将是很好的选择。

近年来,OpenStack已发展成为最成熟的开源云计算项目,大批的中国OpenStack开发者在社区中日益活跃。同时越来越多的行业用户也开始在生产环境中实践OpenStack技术,随着金融、电信、电力、制造、互联网、教育、零售、媒体等行业的众多成功案例不断涌现,中国已经发展成为全球第二大OpenStack市场。

2.Abiquo公司开源云管理平台

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

3.Eucalyptus开源云管理平台

Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)是由Santa Barbara大学建立的开源项目,主要实现云计算环境的弹性需求的软件。它通过其在集群或者服务器组上的部署,并且使用常见的Linux工具和基本的基于Web的服务。当前支持的商业服务只是Amazon的EC2,今后会增加多种客户端接口。该系统使用和维护十分方便,使用SOAP(简单对象访问协议)安全的内部通信,且把可伸缩性作为主要的设计目标,具有简单易用,扩展方便的特点。这个软件层的工具可以用来通过配置服务器集群实现私有云,并且其接口与公有云相兼容,可以满足私有云与公有云混合构建扩展的云计算环境。

4.MongoDB开源高性能管理平台

MongoDB是由一系列物理文件(数据文件、日志文件等)的集合和与之对应的逻辑结构(集合、文档等)构成的数据库。

MongoDB的逻辑结构实际是一种层次结构,由文档(Document)、集合(Collection)、数据库(Database)3部分组成。

一个MongoDB实例支持多个数据库。在MongoDB内部,每个数据库都包含一个.ns文件和一些数据文件,采用预分配空间的机制,始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增带来的磁盘压力过大问题。每个预分配的文件都用0进行填充,数据文件每新分配一次,它的大小都会是上一个数据文件大小的2倍,每个数据文件最大为2GB。

MongoDB的主要特点如下:

①使用JSON风格语法,易于掌握和理解。MongoDB使用JSON的变种BSON作为内部存储的格式和语法。

②模式自由,支持嵌入子文档和数组,无须事先创建数据结构,属于逆规范化的数据模型,有利于提高查询速度。

③动态查询,支持丰富的查询表达式,使用JSON形式的标记,可轻易查询文档中内嵌的对象和数组及子文档。

④完整的索引支持,包括文档内嵌对象和数据,同时还提供了全文索引方式,MongoDB的查询优化器会分析查询表达式,并生成一个高效的查询计划。

⑤使用高效的二进制数据存储,适合存储大型对象(如高清图片、视频等)。

⑥支持多种复制模式,提供冗余及自动故障转移。支持Master-Slave、Replica Pairs/Replica Sets、有限Master-Master模式。

⑦支持服务端脚本和Map/Reduce,可以实现海量数据计算,即实现云计算功能。

⑧性能高、速度快。在多数场合,其查询速度对于MySQL要快得多,对CPU占用非常少。部署很简单,几乎是零配置。

⑨自动处理碎片,支持自动分片功能实现水平扩展的数据库集群,可以动态添加或移除节点。

⑩内置GridFS,支持海量存储。

可通过网络访问,采用高效的MongoDB网络协议,在性能方面要优于Http或Rest协议。

第三方支持丰富,MongoDB社区活跃,越来越多的公司和网站在生产环境中使用MongoDB进行技术架构优化,同时MongoDB公司官方提供强大的技术支持。

5.Enomalism弹性云管理平台

Enomalism是一个弹性计算平台,Enomaly’s Elastic Computing Platform(ECP)是可编程的虚拟云架构,ECP平台可以简化在云架构中发布应用的操作。云计算平台是一个EC2风格的IaaS。Enomalism是一个开放源代码项目,它提供了一个功能类似于EC2的云计算框架。Enomalism基于Linux,同时支持Xen和Kernel Virtual Machine(KVM)。与其他纯IaaS解决方案不同的是,Enomalism提供了一个基于TurboGears Web应用程序框架和Python的软件栈。

6.Nimbus云管理平台

Nimbus是网格中间件Globus旗下的开源云计算项目,Nimbus面向科学计算需求,通过一组开源工具来实现基础设施即服务的云计算解决方案。

Nimbus项目最初的名称为Virtual Workspace Service(VWS),其中Workspace Service是整个平台的核心模块。在Nimbus平台中,包含的组件有Workspace Service节点管理器、基于WSRF的远程协议实现、基于EC2的远程协议实现、云计算客户端、Workspace Pilot整合虚拟机等面向不同层面的应用组件,Nimbus项目各个组件在设计上非常轻量化且具备自身完备性,可以通过多种异构方式进行组合,组件之间的连接关系如图1-1所示。

图1-1 Nimbus组件之间的连接关系

在Nimbus支持下,客户端通过部署虚拟计算机的方式租用远程资源。Nimbus部署在服务节点上,运行环境仅需Java和bash,在管理节点上,还需要具备Python(2.3+)、以太网连接层桥接工具ebtables、DHCPd以及Xen虚拟化环境。

同样实现云计算基础平台的OpenNebula项目给出与Nimbus类似的开源数据中心实现,在物理资源上实现虚拟机环境,但与OpenNebula不同的是,Nimbus以WSRF服务对外提供远程接口,同时具备安全控制机制。Nimbus的接口可以在后端同OpenNebula虚拟机管理器相结合。

在Nimbus的线路图中,包含缓存管理、网络传输、本地资源管理、细粒度执行、安全机制等各个方面的设计目标,功能强大。

7.CloudStack云管理平台

CloudStack是一个开源的云管理平台,它可以帮助用户利用自己的硬件提供公共云服务。CloudStack的前身是Cloud com。2011年7月,Citrix收购Cloud com,并将CloudStack全部开源。2012年4月5日,Citrix又宣布将其拥有的CloudStack开源软件交给Apache软件基金会管理。英特尔、阿尔卡特-朗讯、瞻博网络、博科等都已宣布支持CloudStack。

CloudStack可以通过组织和协调用户的虚拟化资源,构建一个和谐的环境。CloudStack具有许多强大的功能,可以让用户构建一个安全的多租户云计算环境。CloudStack兼容Amazon API接口。CloudStack可以让用户快速和方便地在现有的架构上建立自己的云服务。CloudStack可以帮助用户更好地协调服务器、存储、网络资源,从而构建一个IaaS平台。