云平台开源项目介绍

1.云计算简介

云计算是基于互联网相关服务的增加和服务的交互模式,是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,提供可配置的弹性计算按需付费计算资源共享池,无需关心太多基础设施。

详情请看:云计算与虚拟化概述

1.1 OpenStack简介[官网]

云平台开源项目介绍

OpenStack 由 NASA 和 Rackspace 公司在 2010 年联合发布,两者分别贡献计算组件代码(Nova)和对象存储组件代码(Swift),以 Apache 许可协议进行授权。 OpenStack的目标是提供一个既可以用来建设公有云也能建设私有云的通用的开源云计算平台,而且做到云平台的搭建尽量的简单方便,同时能够快速的横向扩展。 OpenStack独立于任何企业,遵循开源、开放设计、开放开发流程和开放社区的理念,完全由社区主导和维护。 OpenStack的发布周期是半年,最新版本是Newton,这是OpenStack发布的第14个正式版本。

1.2 CloudStack简介[官网]

云平台开源项目介绍

CloudStack 最初由 Cloud.com 公司开发,分为商业和开源两个版本,开源版本通过 GPLv3(GNU General Public License, version 3)许可协议进行授权,Citrix 公司在 2011 年收购Cloud.com 后,将全部代码开源,并在 2012 年将 CloudStack 贡献给 Apache 软件基金会,成为 Apache 的孵化项目,同时将授权协议改为更加宽松开放和商业友好的 Apache 许可协议,CloudStack 在 2013 年 3 月份升级为 Apache 的正式项目。CloudStack 的目标是提供高度可用的、高度可扩展的能够进行大规模虚拟机部署和管理的开放云平台。 CloudStack的发布周期并不固定,目前最新的版本是4.9,社区每年会举行一次全球协作会议(CloudStack Collaboration Conference)进行技术分享和交流。

                                               

2. 云平台架构

2.1 云平台分层架构

  • IAAS: 基础设施即服务

  • PAAS:平台即服务

  • SAAS:软件即服务

云平台开源项目介绍

云平台开源项目介绍

2.2 OpenStack架构

OpenStack采用分布式架构,整个平台按照功能不同分为多个模块项目,项目之间通过消息队列中间件和 RESTful 形式的 API 进行交互通信(其中认证项目为其它项目提供认证和服务注册),因此每个项目都可以单独部署在不同的主机上,架构非常的灵活,OpenStack对外提供丰富和功能强大的API,使得资源可以被用户方便的使用和调度,同时提供和 Amazon AWS(Amazon Web Services)兼容的API。

云平台开源项目介绍

2.3 CloudStack架构

CloudStack采用集中式的单体架构(Monolithic architecture),整个平台只有一个项目构成,不同模块之间通过本地调用进行交互,在一台主机上就可以完成平台的部署,非常方便。CloudStack同样对外提供自身 API和与 Amazon AWS 相兼容的 API。 可以看到两者的架构几乎是完全相对的,OpenStack 的分布式架构灵活性好,不同的项目可以单独部署,因此可以很容易的根据实际需要进行功能组合,并且由于不同的项目间耦合性低,项目间功能划分明确,因此针对单独功能进行定制开发也非常方便,缺点是部署麻烦,每个项目都要部署配置一遍;CloudStack 因为只有一个项目,所以部署起来会相对容易很多,然而平台的扩展性就要相对弱一些。

云平台开源项目介绍

                                                                                                                                                                                                   

3. 社区活跃度

常见的 IAAS 开源平台有 OpenStack、CloudStack、Eucalyptus 和 OpenNebula,根据公开的现状报告和社区分析显示,OpenStack 和 CloudStack 的活跃程度已 经远远超越另外两者,如下面两图所示。(下图数据的截止时间为2014年第一季度)

云平台开源项目介绍

云平台开源项目介绍

图一和图二分别是如上所述四个项目每个月所产生的讨论主题数和帖子数。可以看出:

  1. 在过去12个月中,OpenStack和CloudStack相关的讨论数量在同一水平上,Eucalyptus和OpenNebula相关的讨论数量在同一水平上。

  2. 在过去12个月中,OpenStack和CloudStack相关的讨论数量远大于与Eucalyptus和OpenNebula相关的讨论数量。

基于上述分析结果,说明OpenStack 和 CloudStack 在企业接受度和社区的发展情况已经远远超越另外两者。

                                                                                                                                                                       

4. OpenStack和CloudStack云平台整体比较

OpenStack 和 CloudStack的功能对比如下表所示,我们从授权协议、支持的底层技术和用户群等不同方面对两者进行了比较。

云平台开源项目介绍

云平台开源项目介绍

                                        

5. 云平台选择

经过前面的比较分析我们能够获得这样的结论,OpenStack 和 CloudStack 都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。

不同的是,CloudStack 因为是从商业软件开源出来的,所以对企业来说会更容易上手,在云平台构建时会比较方便,然而同样因为其带有商业软件属性,平台架构比较集中,模块间耦合度比较高,因此扩展性不是太好,同时二次开发的成本较高;OpenStack自诞生之初就是开源软件,并采用分布式的架构,所有的开发都是由社区承担,不同的项目之间几乎没有耦合,所以可以方便的进行开发定制,然而因为其有多个项目组成,每个项目都要单独安装,并且要保证项目间的协作,所以部署会比较麻烦,另外由于OpenStack 处于高速发展阶段,不同版本之间项目可能会有较大的变动,因此版本间的升级会比较困难。

另外值得一提的是,OpenStack 和 CloudStack 虽然都对 VMware 的 ESXi 虚拟化技术提供支持,但支持方式是不一样的。CloudStack 要经过 vCenter 才可以实现对 ESXi 宿主机上虚拟机的管理;而 OpenStack 支持直接和 ESXi 通信,实现对虚拟机的基本管理,只有高级功能才需要 vCenter 的支持。针对目前中小企业普遍采用 VMware 的免费虚拟化技术而没有 vCenter 的现状,这也是在平台选择时需要考虑的。


anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/1989.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注