1.云计算简介
云计算是基于互联网相关服务的增加和服务的交互模式,是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,提供可配置的弹性计算,按需付费的计算资源共享池,无需关心太多基础设施。
详情请看:云计算与虚拟化概述
1.1 OpenStack简介[官网]
1.2 CloudStack简介[官网]
2. 云平台架构
2.1 云平台分层架构
IAAS: 基础设施即服务
PAAS:平台即服务
SAAS:软件即服务
2.2 OpenStack架构
2.3 CloudStack架构
3. 社区活跃度
常见的 IAAS 开源平台有 OpenStack、CloudStack、Eucalyptus 和 OpenNebula,根据公开的现状报告和社区分析显示,OpenStack 和 CloudStack 的活跃程度已 经远远超越另外两者,如下面两图所示。(下图数据的截止时间为2014年第一季度)
图一和图二分别是如上所述四个项目每个月所产生的讨论主题数和帖子数。可以看出:
在过去12个月中,OpenStack和CloudStack相关的讨论数量在同一水平上,Eucalyptus和OpenNebula相关的讨论数量在同一水平上。
在过去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 的现状,这也是在平台选择时需要考虑的。