Openstack nova(二)——架构(一),openstacknova架构


架构源自需求

需求分析

软件架构大部分都来自于需求,可以说,有什么样的需求,就会有什么样的架构, 虽然不同时期,不同的人来实现,可能不完全一样。但是总体来说, 架构不会相差太远。

现在假设如果需要自己来实现一个类似Openstack这样功能的软件,会是什么样的呢?

首先,还是再看看前一章中总结的最简单的需求

物理服务器的管理

要对物理服务器进行管理, 至少要满足以下几个条件

通过上述的分析,通信时至少需要一种通信协议,但为了满足更多的需求,可以考虑支持多种协议, 远程的管理需要远程调用功能。

服务器的选择

同样, 要根据客户的不同配置来选择服务, 至少需要满足以下几个条件

以上的需求,至少需要保存数据的数据库, 和协议有同样的问题,现在的数据库很多,可以考虑支持多种数据库。

虚拟机的创建、开机、关机、挂起、暂停、调整、迁移等操作

在前一章中, 已经强调一点, Openstack只是管理平台,它是不会实现虚拟功能, 还有, 要创建一台虚拟机,至少需要CPU, 内存, 硬件三种硬件,而且虚拟本身就是为提供服务而存在,而现在的大部分服务,都是基于网络服务,所以网络也是必不可少的一种硬件。所以总体的需求大概如下

隐形需求

到此为此, 一些最基本的需求已经出来了。把所有的节点用图表示出来如下:

这里写图片描述

Nova的实现

前面我们从需求的角度出发, 自己分析了如果要满足基本需求, 需要什么样的实现。 那么Nova的真实实现会和我们一样吗?
这里写图片描述

相关内容