OpenStack正在快速覆盖从数据库到安全到容器的全部云计算基础架构。这对IT界既是祝福、也是新的痛苦:随着OpenStack模块清单变得越来越长,部署和操作复杂度也不断增加。
从新发布的模块到能融入核心集的模块,OpenStack模块的成熟度参差不齐。存储管理员可以使用OpenStack Project Navigator来浏览模块清单并查看其成熟度评级。
诸如红帽的Platform Directorsimplify自动部署工具能消除在横向扩展云中手动部署相关的许多风险,因此,将这些功能加入Openstack可能是一个有趣的学习体验。以下列出了OpenStack已有的模块。
核心模块
OpenStack的核心包括了负责提供基本业务流程、平台和网络管理以及对象和块存储的一系列模块。这些工具都非常成熟,尽管他们仍需要继续优化和错误修复。这些工具只是OpenStack的一个工作集,但在今天的大部分部署中都会越来越普遍。
Nova:实例管理模块,根据需要创建和删除实例。
Neutron:允许实例互相连接和连接到其他存储设备。
Keystone:对服务进行身份验证,确保可以安全地访问OpenStack其余的服务。
Swift:对象存储,类似于Amazon Web Services简单存储服务。
Cinder:类似于SAN的块级存储。
Glance:映像存储和管理;轻松实现映象集的跨节点同步。
大多数OpenStack部署使用Ceph而不是Swift实现对象存储。这是由于Ceph具备与Amazon Web Services(AWS)简单存储服务的API兼容性,以及更大的功能集和简化的易用性。
管理组
这组OpenStack模块增强了核心模块集的管理能力。它由两个不同成熟度的子组组成。以下模块都是成熟的项目,尽管它们仍在进化。
Horizon:为OpenStack提供了一个仪表盘,用于大约90%的部署。
Heat:基于模板处理跨实例的应用程序编排。
Ironic:裸机配置工具。
未成熟的新项目包括:
Ceilometer:提供云的遥测功能,有助于发现可扩展性和性能问题。
Congress:提供基于策略的治理框架。
安全组
该组包括密钥管理和域名系统(DNS),以及旨在将恶意软件从云中排除的应用程序目录。他们都是正在进行的相对较新的OpenStack模块,特别是Murano。
Barbican:一个密钥管理器,主要用于Keystone认证和内部应用安全。
Designate:DNS服务,旨在将应用程序指向安全的数据源。
Murano:为OpenStack中的已批准应用程序提供存储库,以确保修订级别的一致性。
大数据和数据库服务
这是数据库,MapReduce和共享文件系统的全部模块类别。所有这些模块都针对特定的用例,而不是更广泛的部署。这些模块都比较新。
Trove:提供可跨多个实例部署的数据库服务。
Sahara:提供弹性MapReduce来处理大数据。
Manila:共享文件系统服务,创建类似NAS的存储访问。
Zaqar:支持实例之间的消息传递。
容器
容器是新加入的功能,云软件也正在努力追赶潮流。OpenStack有一套激进的项目正致力于将容器部署到云端。其中,Magnum——伞形容器项目的成熟度评级仍然只有2分(满分8分),所以还未到***的应用时机。但是它为Docker,Kubernetes和Apache Mesos提供了容器和容器编排功能,并提供了多种配置模式。
OpenStack正在云计算大联盟中穿梭,并且已经有资格和主要云服务提供商提供的产品和服务范围展开互相竞争。当然,AWS目前仍处于领先地位,拥有非常广泛且有用的服务,在许多方面都是OpenStack必须赶上和超越的基准。