OpenStack是NASA(美国宇航局)开源的云计算操作系统,该操作系统主要用于云计算基础设施(IAAS)的部署并提供包括云计算网络、云计算存储、弹性云计算服务器(ECS)、云桌面以及其他云计算服务相关的基础设施,由这些基础设施组成的集群网络的区域类型包括自建型私有云计算数据中心、计费型公有云计算数据中心以及连接终端侧的边缘云计算数据中心。
OpenStack是一款云计算操作系统,主要用于控制数据中心的资源池,该资源池包括大规模的计算资源、存储资源以及网络资源,位于资源池中的所有资源都可以使用通用的鉴权机制以调用APIs的方式实行远程智能化的管理与配置。
OpenStack提供强大的管理与配置的web界面,云计算数据中心的管理员可以使用web界面配置管理资源池中的云计算资源。
OpenStack除了具备IAAS的基础能力,还提供其他组件的能力,这些组件能提供应用级别的编排管理、错误管理、服务管理以保证用户应用服务的高可用性。
如下设计目标所展现的服务能力是OpenStack提供给用户与应用的整体服务能力,其中每个能力都是OpenStack未来发展的愿景与使命。
OpenStack提供一致性、可扩展的、抽象级别的接口,这些接口能支持OpenStack自身社区、其他开源社区、第三方企业机构或者供应商实现可远程管理的云计算数据中心的工具集,这些工具集能处理位于云计算数据中心的大规模的计算资源、存储资源或者网络资源、域名命名系统以及身份管理系统。
因此,用户使用以上的OpenStack提供工具集能管理与运作私有云计算类型、公有云计算类型、边缘云计算类型的数据中心,也能使用该工具给相应的云计算数据中心的付费用户或者免费用户编排可用的云计算资源。
OpenStack能完美支持与兼容更多的抽象层,其中包括Pass(Platforms as a Service)、Faas(Serverless)以及容器编排引擎,这些平台、引擎或者用户应用运行在OpenStack配置的计算空间中。OpenStack提供的工具能集成这些平台或者引擎到基于OpenStack的云计算数据中心的运行环境中。
此外,OpenStack自身的社区项目也提供一个抽象层,该抽象层能基于底层的后端服务而实现的一个基础服务,该基础服务能提供给在实际的OpenStack云计算运行环境中的其他服务消费。
OpenStack使用软件级别的定义接口对云计算数据中心的硬件资源实行分片式的管理(硬件虚拟化),该方式能允许用户使用独立供应商提供的APIs申请与分配多租户环境中的云计算资源。OpenStack除了提供虚拟化的服务器,还可提供存储、路由、负载均衡、防火墙、HSMs、GPGPUs、FPGAs、ASICs相关的硬件级别或者软件级别的虚拟化服务。
OpenStack为应用开发者提供无限制的、可持续、大规模的水平扩展,该扩展不用重新构建用户应用的架构。OpenStack提供的架构能根据消费者的需求而分配数据中心的云计算资源、能在不同的租户之间共享数据中心的云计算资源。
在软件系统中,硬件系统的可靠性决定软件层的可靠性,而OpenStack云计算操作系统能提供云计算存储层的基本单元,这些存储层的基本单元能以可复制备份的方式持久地、冗余地保存消息或者数据,这些机制能确保用户数据的安全性、可靠性、最终一致性。
此外,不同的租户之间可共享这些云计算资源,从而降低用户应用的运营成本。
OpenStack并不包括任何指定的部署模型或者应用架构,但是提供SDK之类的客户端工具集、提供标准的、开放的APIs,任何用户都可以使用OpenStack提供的标准的开放接口定制化开发特定需求的应用,也就是,用户可以根据实际的需求而集成所需要的OpenStack开放的服务,使用OpenStack的可定制化的集成机制,更加易于实现低耦合高内聚的用户应用或者云计算组件。
此外,在OpenStack云计算运行环境中,用户可以根据实际的安全需求在各种不同的服务之间实现不同安全级别的鉴权与授权的机制,从而确保OpenStack定制化的集成服务的安全性。
在OpenStack云计算数据中心的运行环境中,一些云计算应用组件例如数据库需要专业级的运维技术,OpenStack在开放APIs中提供抽象级别的运维管理服务,用户使用OpenStack提供的专业级的运维服务可以对应用的运行信息实行分布式采集、集中管理与分析处理。
OpenStack提供图形化的云计算数据中心的用户管理界面,用户、云计算数据中心的管理人员、云计算组件的运维人员都可以使用图形化的、可管理的用户界面开展管理、运营或者运维的工作。
OpenStack的部署架构图如下所示:
OpenStack的部署架构的组成如下所示:
Linux Foundation 云计算底座 |
云计算底座是支撑OpenStack云计算平台的操作系统,其包括以下流行的操作系统: openSUSE and SUSE Linux Enterprise Server Red Hat Enterprise Linux and CentOS Ubuntu |
OpenStack 云计算基础设施(IAAS) |
OpenStack云计算平台与支撑云计算底座的Linux操作系统组成云计算操作系统,因此OpenStack被称之为云计算操作系统,其中OpenStack提供的云计算组件、云计算服务是安装部署在以上的云计算底座的Linux操作系统中 |
Shared networking and storage resources 共享网络与共享存储资源 |
在OpenStack云计算操作系统中的资源包括网络资源、存储资源等是以共享的方式对上层提供服务,在上层中运行的应用或者应用平台可以分享下层的云计算资源,这些云计算资源组成了OpenStack云计算操作系统的基础设施 |
服务平台(PAAS) |
使用OpenStack云计算操作系统部署的平台主要包括以下三种类型:
|
应用服务(SAAS) |
部署在kubernetes或者Vmware或者docker中的应用,这些应用向终端用户提供软件服务 |
(未完待续)