概述
laaS(基础架构即服务)]
提供底层IT基础设施服务,包括处理能力、存储空间、网络资源(比如迅雷)等
面向对象一般是IT管理人员
PaaS (平台即服务)
把安装好开发环境的系统平台作为一-种服务通过互联网提供给用户
面向对象一般是开发人员
SaaS (软件即服务)
直接通过互联网为用户提供软件和应用程序等服务
面向对象一般是普通用戶
概念
NASA (美国国家航空航天局)和Rackspace共同发起
以Apache许可证授权的自由软件和开放源代码项目
为公有云及私有云的建设与管理提供软件的开源项目
公有云:所有人都能用
私有云:只为企业内部使用,服务器是托管给阿里云组织维护
专有云:也是为企业内部所使用,使用的服务器是客户自己的服务器
混合云:例如银行
覆盖了网络、虚拟化、操作系统、服务器等各个方面
组件介绍
服务 | 项目名称 | 描述 |
---|---|---|
计算服务(Compute) | nova | 管理实例生命周期,计算资源的单位,对Hypervisor进行屏蔽,支持多种虚拟化技术,支持横向扩展 |
网络 服务(Network) | neutron | 负责虚拟网络的管理 为实例创建网络的拓扑结构 |
镜像服务(Image Service | ) glanc | e 提供虚拟机镜像模板的注册与管理,将做好的操纵系统拷贝为镜像模板,在创建虚拟机的时候,可支持多格式的镜像 |
身份认证服务(Identify) | keystone | 负责OpenStack内外交互,以及内部所有组件交互时的认证 |
块存储服务(Block Service) | cinde | r 负责为运行实例提供持久的块存储设备 |
对象存储服务(Object Storage) | swift | 提供基于云的弹性存储,支持集群单点故障 |
计量服务(Telemetry) | celimitor | 用于度量、监控和控制数据资源的集中来源,为用户提供记账途径 |
控制面板服务(Dashboard) | horizon | 用户登陆、使用的控制台界面 |
OpenStack架构
1、按照不同的功能和通用性划分不同的项目,拆分子系统
2、按照逻辑计划、规范子系统之间的通信(mq)
3、通过分层设计整个系统架构
4、不同的功能子系统间提供同一的API接口
逻辑架构
OpenStack包括若干个称为OpenStack服务的独立组件,所有服务都通过一个公共身份服务进行身份验证(keystone),除了那些需要关了权限的命令,每个服务之间都可通过公共API进行交互
每个OpenStack服务由若干组件组成,包含多个进程,所有服务只是有一个API进程,用于侦听API请求,对这些请求进行预处理,并将它们传送到该服务的其他组件,除了认证服务,实际工作都是由具体的进程完成的
每个服务端进程之间的通信,是使用AMQP消息代理,服务的状态存储在数据库中
通信关系
基于AMQP协议地通信:用于每个项目内部各个组件之间地通信
基于SQL地通信:用于各个项目内部地通信
基于HTTP协议进行通信:通过各项目地API简历地通信关系
通过Native API实现通信:OpenStack各组件和第三方软硬件之间的通信