OpenStack
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
云平台架构
云平台是一个面向服务的架构,按照提供服务的不同分为laaS、PaaS和SaaS LaaS提供的服务是虚拟机。 laaS负责管理虚拟机的生命周期,包括创建、修改、备份、启停、销毁等。 使用者需要关心虚机的类型(OS)和配置(CPU、内存、磁盘),并且自己负责部署上层的中间件和应用。 IaaS 的使用者通常是数据中心的系统管理员。 典型的 IaaS 例子有 AWS、Rackspace、阿里云等
PaaS(Platform as a Service)提供的服务是应用的运行环境和一系列中间件服务(比如数据库、消息队列等)。 使用者只需专注应用的开发,并将自己的应用和数据部署到PaaS环境中。 PaaS负责保证这些服务的可用性和性能。 PaaS的使用者通常是应用的开发人员。 典型的 PaaS 有 Google App Engine、IBM BlueMix 等
SaaS(Software as a Service)提供的是应用服务。 使用者只需要登录并使用应用,无需关心应用使用什么技术实现,也不需要关系应用部署在哪里。 SaaS的使用者通常是应用的最终用户。 典型的 SaaS 有 Google Gmail、Salesforce 等
OpenStack和运算
OpenStack 对数据中心的计算、存储和网络资源进行统一管理。
OpenStack的架构
中间菱形是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。 Nova:管理VM的生命周期,是OpenStack中最核心的服务
Neutron:为OpenStack提供网络连接服务,负责创建和管理L2、L3网络,为VM提供网络和物理物理连接。
Glance:管理VM的启动镜像,Nova创建VM时使用Glance提供的镜像
Cinder:为VM提供服务存储模块,Cinder提供的每一个Volume在VM看来就是一块虚拟硬盘,一般用数据盘
Swift:提供对象存储服务。Vm可通过RESTFUL API存放对象数据作为可选的方案,Glance也可以将Volume备份到Swift中。
keyStone:为OpenStack的各种服务提供认证和权限管理服务,简单的说:OpenStack上的每一个操作度必须通过KeyStone的审核
Ceilometer:提供OpenStack监控和计量服务,为报警、统计和计费数据。
Horizon:为OpenStack用户提供一个Web的自服务Portal
OpenStack的核心服务
Nova 管理计算资源,是核心服务。 Neutron 管理网络资源,是核心服务。 Glance 为 VM 提供 OS 镜像,属于存储范畴,是核心服务。 Cinder 提供块存储,VM怎么也得需要数据盘吧,是核心服务。 Swift 提供对象存储,不是必须的,是可选服务。 Keystone 认证服务,没它 OpenStack 转不起来,是核心服务。 Ceilometer 监控服务,不是必须的,可选服务。 Horizon 大家都需要一个操作界面吧。 在Logical Architecture中,可以看到每个服务又由若干组件组成。 Neutron Server、Neutron plugins和Neutron agents Network provider 消息队列 Queue 数据库 Neutron Database
上面是 Logical Architecture,描述的是 Neutron 服务各个组成部分以及各组件之间的逻辑关系。 而在实际的部署方案上,各个组件可以部署到不同的物理节点上。
OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。 这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。
|