知识点
- OpenStack简介
- OpenStack架构与组件
- OpenStack消息队列机制
OpenStack简介
设计开发
每年两个版本,4月10月
70%的代码用python开发
Apache2.0 License 商业友好
openstack为企业提供了一个云操作系统的demo架构,同时提供了保持更新的开源社区,涉及到网络和虚拟化方面的能力对很多开发者来说都是比较棘手的问题,通过开源社区可以有效规避这些风险
有助于云操作系统的标准化,向AWS等厂商学习,在技术上实现标准化
openstack本身并不是很易用,也是开源软件的通病,开发者们的只是简单实现自己的想法以及业内事实标准的云计算厂商的新功能,提供的更多的是一种理论的可行性。
但是商业化产品的演进模式来看,尤其是在国内很多以项目为产品开发流程的公司,更多的是 “独轮车 -> 自行车 -> 汽车” 这种 “先跑起来再加固”的方式。
实际运行起来也是通常将其作为一个统一的前端业务管理层,不仅业务实现上严重依赖原有的软硬件,甚至连基本的监控都要依赖Zabbix等开源工具
商业模式/服务能力
- 公有云:AWS,Goole,阿里云等
- 私有云:阿里,华为等
- 混合云:
- 云管平台及组件服务:多云管理,纳管Vmware等
- 硬件设备:Dell,Cisco, EMC,IBM,华为,华三,浪潮等设备提供商
- 软件服务:Vmware等虚拟化厂商
openstack生态
社区组成
个人会员
企业会员
白金会员(8个,不变)
- ATT, Ubuntu, hp, IBM, intel, rackspace, redhat, suse
黄金会员
- 数量很多,国内的有三大运营商,华为,中兴,浪潮等
企业赞助商
- 免费使用开源软件,回馈一下社区= =
管理机构
- 技术委员会
- 董事会
- 用户委员会
云计算与虚拟化的区别
云计算架构和功能定位
- 只是系统的控制面
- 本身不包括系统的数据面组件,如虚拟化,存储,网络设备等
- 是构成云的关键组件
云计算与虚拟化的区别
云计算的功能点
- IT能力服务化
- 按需使用,按量计费
- 多租户隔离
虚拟化的功能点
- 环境隔离,资源复用
- 降低隔离损耗,提升运行效率
- 提供虚拟化高级特性
OpenStack架构与组件
组件
Nova
- Compute
- 计算实例的生命周期管理,虚拟机的生成、调度、回收等
-
管理虚拟化和非虚拟化资源
Cinder
- Block Storage
- 持久块存储
-
可插拔
Neutron
- Networking
- API定义网络
- 基于插件
Nova的价值
- 网络类型丰富:支持Flat、VLAN、GRE、VxLAN
- 支持复杂拓扑、租户灵活组网
- 与后端解耦,与SDN组合
- 提供告警(Router,LB,VPN,FW等)
Neutron的主要组件
Neutron的逻辑层次
Neutron的部署示例
Horizon
- Dashboard
- 基于web的自服务门户,与Opensatck底层服务交互
- 使用python开发
Keystone
- Identity Service
- 为其他OpenStack服务提供认证和授权服务,为所有OpenSatck服务提供一个端点目录
Swift
- Object Storage
- RESTful,基于HTTP
Glance
- Image Service
- 存储和检索虚拟机磁盘镜像
- 在对象存储中
Celimeter
- 测量服务Telemetry Service
-为Openstack云的计费、基准、扩展性以及统计等目的提供监测和计量
Heat
- 编排服务Orchesttration Service
- 编排多个综合的云应用
架构
OpenStack的消息队列机制
FusionSphere Openstack简介
FusionSphere功能架构
对openstack的商用加固
OpenStack消息队列机制
RabbitMQ
消息队列的价值
- 异步解耦
- 分布式事务数据一致性
- 消息的顺序收发
- 削峰填谷
- 大规模机器的缓存同步
RabbitMQ的工作流程
OpenStack实现商用还需要做的工作
- 底层虚拟化工具
- 部署、加载、组建管理等加固
- 管理工具,监控工具