云计算的定义
美国国家标准与技术研究院(NIST)指出,云计算是一种按量付费的模式,这种模式提供可用的,便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够被快速的提供,只需要投入少量的管理工作,或与服务供应商进行很少的交互。
云计算设计的技术领域

云计算的服务于交付模式

- 基础设施即服务(LAAS)
- 平台即服务(PAAS)
- 软件即服务(SAAS)
- 存储即服务
- 数据库即服务
- 安全即服务
- 通信即服务
- 集成即服务
- 测试即服务
- 处理即服务
四种常见的云计算部署模型
- 公有云(阿里云、Azure、Amazon 等)
- 社区云(学校搭建,教育使用等)
- 私有云(公司自己搭建的 Openstack 平台)
- 混合云(以上多个混合)
OpenStack 与云计算
- MASA 与 Rackspace 合作开发的开源项目
- 目的为私有云和公有云提供 LAAS 层的软件,可自定义化
- 帮助服务商和企业实现亚马逊 Amazon EC2 和 S3的云基础架构
- OpenStack 是一个 LAAS 层的软件
- 得到 IBM、Dell、HP、AMD、Intel 等各大 IT 厂商的支持
其他的开源云计算软件
相比其他,Openstack 模块松耦合,组件配置灵活,二次开发容易。
- Eucalyptus
- OpenNebula
- CloudStack
Openstack 的核心组件
- Nova:Compute
- Neutron(Quantum):Networking
- Swift:Storage
Nova
- 主要控制器,用 Python 语言编写。
- 使用目前成熟的虚拟化技术(KVM、XenServer)来管理和自动化计算资源池的操作
- Openstack 作为一个平台的存在,并不充当计算资源的提供者和资源的消费者
Swift
- 对象存储项目,是一个可扩展并且提供了冗余的存储系统。
- 对象和文件分散存储在同一集群的多台服务器的磁盘上,由 OpenStack 复制数据的复制和一致性。
- 用于存储大量静态数据的分布式存储系统,没有主从,便于系统扩展和数据的冗余和持久化。
- 通过添加服务器方便的完成横向扩展。
- 如果磁盘出现失败,OpenStack 会复制数据到集群中的其他节点。
Cinder
- 块存储服务,为云环境中的计算提供块设备的创建、添加和卸载。
- 适用于性能要求高的应用场景:比如数据库
- 块设备的快照功能可以实现基于块存储卷的数据备份,而且也可以利用快照进行数据恢复。
Neutron
- OpenStack 的网络服务
- 提供云计算环境下的虚拟网络功能,目的是为 OpenStack 云更灵活的划分物理网络,在多租户情况下给每个租户提供独立的网络环境
- 用户可以创建自己的网络,控制网络流量,也可以控制服务器和设备连接到多个网络
- 多各种管理模式(FlatDHCP 模式、Flat 模式、VLAN 模式)
Horizon(Dashboard)
- Dashboard 为管理员提供一个图形化接口
- 可以访问和管理基于云计算的资源-计算、存储、网络等。
- 高可扩展性,支持第三方自定义模块,计费,监控,和额外的管理工具。
- 支持二次开发
其他共享服务
- Identity Service
- Image Service
- Telemetry Service
- Orchestration Service
- Database Service
Identity Service(Keystone)
- 提供用户目录集中式存储,便于其他 OpenStack 服务的访问
- 可以和现有的目录服务相结合,提供企业内部的单点目录的访问
- 创建用户和租户,基于角色的方式限制用户和租户访问云计算中的计算、网络和存储等资源。
- 支持多种方式校验:(用户名和密码、令牌认证、证书认证)
Image Service(Glance)
- 镜像服务,提供磁盘和服务器虚拟镜像的查询、注册和传输的功能。
- 本身并不存储镜像,只是一个代理,充当镜像存储服务和其他 OpenStack 组件之间的纽带。
- 可以将磁盘和服务器镜像存储在 OpenStack 的后端服务上,比如对象存储服务系统上。
- 利用镜像服务创建镜像模板,用户可以选择现有的镜像创建服务器。
Telemetry Service(Ceilometer)
- 测量服务,可以收集云计算中不同服务的统计信息
- 可以查看所有资源的统计信息或者单个资源的统计信息
- 能收集 OpenStack 内部发生的所有事件收集起来,为计费和监控提供数据支持
Orchestration Service(Heat)
- 部署编排服务,提供通用模板定义的协调部署方式。
- 模板驱动的引擎,允许应用开发人员使用提供的模板语言描述云环境的架构,通过自动化的方式部署云计算资源。
- 与 Telemetry Service 结合,更好的实现云计算资源扩展自动化。
Database Service (Trove)
- 提供可扩展,可靠关系型数据库引擎服务。
- 实现资源隔离,方便自动化管理。
网友评论