一.云计算与OpenStack
1.去计算与云计算平台
云计算是一种IT资源的运作与交付形式,资源多个层次Iaas/Paas/Saas,最大特征是极具弹性与随需而变。
云计算与虚拟化关系:虚拟化不是云计算必须的(比如有些云计算平台也提供物理机资源),但是虚拟化大大增强了云计算能力,没有虚拟化的云计算正如没有钢筋的楼房。
云计算基础三大关键要素:计算(CPU)、网络(系统总线)与存储(Mem&Disk),每个要素也都有多种实现及体系。
云计算平台是实现云计算的基础平台,如AWS,GCE,阿里云,腾讯云,RackSpace等等,往往综合了IaaS和Paas,甚至包含Saas。
2.OpenStack生态
Openstack是应用最广,兼容最好的开源云平台实现,制定了云平台整个框架和API标准,一开始以兼容AWS API为出发点,整体上高内聚松耦合。
OpenStack之于云计算(对AWS的开源实现)<==>Hadoop之于大数据处理(对Google大存储/数据的开源实现);OpenStack把1变成N,Hadoop把N变成1。
由OpenStack基金会管理,董事会+技术委员会;平台厂商+金牌会员基本覆盖了大部分著名的IT公司。
3.2016.4-Mitaka版本项目预览
4.Openstack核心流程架构
5.OpenStack核心物理架构
6.OpenStack的设计特征
a.大量采用成熟的开源组件
-kvm/qemu、openvswitch、ceph...
-mysql、rabbitmq、memcached、haproxy...
b.功能强大,扩展性强
-除了几个核心项目,不断加入新项目实现其他服务场景(数据库、大数据、DNS、容器、消息队列...)
-大部分项目都采用插件形式来实现底层的细节,具备很强的扩展性和定制性
c.清晰的服务栈,避免重复造轮子
-共享的消息队列,鉴权服务,虚拟化服务
-服务堆叠,用API集成,高内聚低耦合
7.OpenStack的产品化
OpenStack跟大多数的商业方案一样,解决的问题基本类似的,在大道理上往往是殊途同归,细节处理上有得有失。
OpenStack从开始更加规范,更加统一,开源的好处在于集成大众智慧,且更快发展。
正如Linux内核与Linux操作系统的关系一样,只有内核是不够的,需要有完整的用户态环境,这样才能真正运行业务。
OpenStack拉低了核心技术门槛,但是产品化的要求却没有降低,随着用户需求的增长反而更高。
二.数据库与云平台
在云计算中数据库是更上层的资源,而且是大部分应用的核心资源。
数据库与数据库管理的关系比虚拟机与虚拟机管理的关系更贴近应用。
数据库管理的发展路径:手工管理->托管平台->云数据库平台。
因此,OpenStack自Icehouse版本推出了数据库服务解决方案Trove项目:
a.实现DBaa5,解决用户使用与管理DB遇到的复杂繁琐问题
b.依托OpenStack核心,提供对多种流行开源数据库的支持
c.Trove本身就是OpenStack云平台的运用的一个绝佳的案例
三.OpenStack Trove介绍
1.Trove设计关键目标
a.完全运行在OpenStack之上
-基于OpenStack的核心服务之上构建
-遵从OpenStack框架与API规范
-Trove自身属于OpenStack体系
b.支持关系与非关系型数据库
-进行更高层次的抽象,减少重复造轮子
-通过agent定制支持mysql,redis,mongodb等等
2.Trove整体架构
3.Trove概念与功能
a.核心概念
实例管理、数据库管理、主从管理、备份管理、配置管理、集群管理。
四.OpenStack Trove实践
1.平台环境建立
-包含Trove的OpenStack环境
-Trove特定的VM镜像
-采用Trove-Integration项目完成以上两个工作
2.Trove-Integration构建
-详细参考https://wiki.OpenStack.org/wiki/Trove/trove-integration
-注意的地方:一定需要先构建Trove专用的vm镜像并导入glance
-Trove也提供了强大的控制台trove命令行工具
3.建立mysql一主二从的实例运行环境
五.与典型云数据库的对比
六.总结
七.参考资料
OpenStack:http://www.OpenStack.org/
Trove:http://www.OpenStack.org/software/releases/liberty/components/trove
Trove-Integration:https://github.com/OpenStack/trove-integration
Building Guest Images for OpenStack Trove:http://docs.OpenStack.org/developer/trove/dev/building_guest_images.html