理解 OpenStack 的成功
在我进入数据存储行业时,我正在为 2 Gbit 光纤通道存储区域网络 (SAN) 工作并开发 RAID 和 JBOD(Just a Bunch Of Disks,磁盘簇)控制器。那时是“云”出现之前。情况有所不同——我们的用户也是如此。从单一来源或单一供应商处购买会让人感到安心。在理想的世界中,一切都应该和谐地协同工作,对吧?当出现问题时,该单一供应商应该能够解决整个部署中的每个问题。
这就是为什么企业公司通常从单一存储供应商处购买并对其进行深入投资的原因。您要么购买 HP、Dell、EMC、Sun Microsystems 或 NetApp 的产品,NetApp 也在网络附加存储 (NAS) 领域成功开辟了新市场。例如,一旦成为 EMC 的客户,就永远是 EMC 的客户。花费数十万甚至数百万美元来确保您获得高可用性、容错能力、培训、支持等等。再次强调,都是通过该单一供应商。
这种模式持续了相当长一段时间,但在最近十年,情况开始发生变化。客户想要更多。新的硬件和软件技术开始涌现,并提供非常有吸引力的功能——虚拟化(与 VMware)是首先想到的,外部闪存阵列、软件定义存储——几乎所有这些都有助于启动我们称之为云的东西。清单还在继续。
这些相同的公司开始对此表示沮丧。他们想要所有这些额外的功能,但这些单一供应商要么不提供,要么在推出有竞争力的产品方面速度太慢。他们现在不再通过单一供应商运行产品并使用更统一的管理框架来维护所有产品,而是来回切换于多个供应商的多个管理界面来完成简单的任务。当工作负载较小时,这一切都很好,但是当工作负载增加时,它就无法很好地扩展。如何登录到单个仪表板并监控或管理您的虚拟/物理机、网络、存储等?什么可以将所有这些移动部件整合在一起?
OpenStack 登场。
什么是 OpenStack?OpenStack 是一个 Apache 许可的开源框架,旨在构建和管理公共云和私有云。该项目最初于 2010 年启动,是由 Rackspace Hosting 和 NASA 联合发起的一项工作,此后呈指数级增长,并吸引了众多支持者和用户。它是现代时代增长最快的开源项目之一。OpenStack 的主要目标是创建一个单一且通用的框架,以动态部署和管理数据中心中的各种技术。其最新版本是 Newton(2016 年 10 月),最值得注意的是增加了对 Docker 的支持,从而为客户提供容器即服务 (CaaS) 功能。

OpenStack 概述
它的相互关联的组件控制处理、存储和网络资源的硬件池,所有这些都通过基于 Web 的仪表板、一组命令行实用程序或 RESTful 应用程序编程接口 (API) 进行管理。即使 OpenStack 导出和发布了自己的独特 API,该项目也努力保持与竞争 API 的兼容性,其中包括亚马逊的弹性云 2 (EC2) 和 Swift3 (S3),以及谷歌计算引擎 (GCE)。其想法是允许开发人员轻松地将其技术从竞争生态系统迁移到 OpenStack。
OpenStack 中一些更常用的组件或模块包括:
Nova(计算):用于管理裸机和虚拟机映像部署。
Neutron(网络):用于管理网络和 IP 地址。
Cinder(块存储):用于管理块存储设备到计算服务器节点的创建、连接和分离。
Keystone(身份):为云中的所有用户启用通用身份验证系统。
Glance(映像):用于管理磁盘和服务器映像,同时维护备份。
Swift(对象存储):用于管理跨水平分布式存储集群的对象数据集。
Horizon(仪表板):是用于管理所有 OpenStack 基于云的资源的可视化界面。
许多硬件供应商都收到了通知。这些相同的供应商很快就会调整其产品,以便它们可以插入 OpenStack 框架并通过其一个或多个受支持的组件进行连接。例如,块存储供应商支持 Cinder,而专注于虚拟化程序的供应商支持 Nova。
那么,OpenStack 成功的秘诀是什么?融合。OpenStack 将秩序带回了几乎无法管理的生态系统中。通过提供单一且标准化的框架,多供应商部署现在能够在同一网络中共存。OpenStack 的受欢迎程度应该不足为奇。我预测该项目将取得更多成功,并期待看到它在行业中蓬勃发展。