简介: Infrastructure as a Service (IaaS) 云平台种类繁多,例如像 Nebula 和 Eucalyptus 这样为人熟知的解决方案。而此领域的一个新来者已展示了其不俗的增长,不仅包括用户数量的增长,还包括支持公司的数量的大量增长。在本文中,我们将了解这个开源平台 OpenStack,发现它是否真的是一种开源云操作系统。
Infrastructure as a Service (IaaS) 云平台种类繁多,例如像 Nebula 和 Eucalyptus 这样为人熟知的解决方案。而此领域的一个新来者已展示了其不俗的增长,不仅包括用户数量的增长,还包括支持公司的数量的大量增长。在本文中,我们将了解这 个开源平台 OpenStack,发现它是否真的是一种开源云操作系统。
云和公共 Infrastructure as a Service (IaaS) 背后的理念并不算很新。实际上,Amazon Elastic Compute Cloud (Amazon EC2) 到今年已经有六岁了。有所改变的是,现在已经主要将 IaaS 作为一种私有云计算,以满足具有敏感数据的企业计算。私有云计算将 IaaS 的理念应用到私有基础架构。虽然这么做缺少公共云(现收现付服务)的经济优势,但它充分利用了云计算的核心原理,使企业数据中心内有了可伸缩和弹性的基础 架构。
让我们先来快速介绍一下 IaaS 及其基础架构,然后再深入研究这个领先的开源解决方案:OpenStack。
IaaS 和云基础架构
云计算架构常常都着重于虚拟化后按需向用户公开的一组公共资源。这些资源包括功能各异的计算资源、持久的存储资源,以及将这些资源组合在一起并将它们有条件地公开到互联网的可配置联网资源。
IaaS 实现的基础架构(参见 图 1)就遵循了这样的模型,并添加了其他元素,比如计量(为计费的目的来说明使用的情况)。物理的基础架构则通过由各种技术(包括系统管理程序(用于平台虚拟化)、虚拟网络和存储)实现的虚拟层提取自应用程序和用户。
图 1. IaaS 的高级视图
虽然 OpenStack 是如今最为流行的一种可用的开源云解决方案,但它当然不是最早的一个。实际上,OpenStack 是在公共和私有领域开发的两种旧解决方案的综合。
由位于圣巴巴拉市的加州大学的一个研究项目开发的 Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) 是更早的一种开源 IaaS 解决方案。其他的解决方案还包括 OpenNebula(一种开源的云计算工具箱)和 Nimbus(另一种面向 IaaS 云的开源工具箱)。OpenStack 集成了美国国家航空和航天局 (NASA) 的部分 Nebula 平台和 Rackspace Cloud Files 项目(云存储)。
云计算的新来者:OpenStack
OpenStack 是 IaaS 空间的一个新来者,在 2010 年末首次发布。尽管此解决方案成熟度不够,而且面市还不到两年时间,但是 OpenStack 现已成为了使用最为广泛的云堆栈之一。OpenStack 不是单一的解决方案,而是一个不断成长的开源解决方案套件(包括核心以及新孵化的项目),并共同形成了一个强大成熟的 IaaS 堆栈。
如 图 2 所示,OpenStack 构建自几个核心技术(多于这里所展示的,但这里所展示的代表关键方面)。左侧是 Horizon 仪表盘,显示了一个可为用户和管理员用来管理 OpenStack 服务的用户界面。Nova 提供了一个可伸缩的计算平台,用来支持大量服务器和虚拟机(VM;以一种系统管理程序不可知的方式)的配置和管理。Swift 实现一个具有内部冗余、可大量伸缩的对象存储系统。在底部的是 Quantum 和 Melange,二者实现了网络连接即服务 (network connectivity as a service)。最后,Glance 项目为虚拟磁盘映象实现了一个存储库(映像即服务 (image as a service))。
图 2. OpenStack 解决方案的核心和附加组件
如图 2 所示,OpenStack 是一个项目集合,整体提供了一个完整的 IaaS 解决方案。表 1 展示了这些项目及其起作用的方面。
表 1. OpenStack 项目和组件
项目
组件
描述
Horizon
Dashboard
用户和管理员仪表盘
Nova
Compute/block device
虚拟服务器和卷
Glance
Image service
VM 磁盘映像
Swift
Storage as a Service
对象存储
Quantum/Melange
Networks
安全虚拟网络