近日有粉丝问阿里云和华为云的部署区别是啥,其实阿祥没有搭建过阿里云,具体用啥工具部署,部署的步骤和具体方法并不知道(ps:后续如果能找到类似资料,阿祥会给大家分享),所以我这次先从架构分析一下他们,在脑海里建立一个大概的云框架。
其实现在市面上通过虚拟化实现的云计算,大概框架都差不多。底层的服务器集群,上层部署一层虚拟化层,然后将各个集群资源纳管分配的管理层,结构如下:
接下来就可以根据这个架构进行各厂商的对比了,根据模块划分,阿里云:
从图中可以看到,后羿”模块负责计算和网络的虚拟化,而“盘古”模块负责存储虚拟化,“神农”负责的是监控,安全是“钟馗”。“夸父”“女娲”“伏羲”这三个是支持虚拟化的更底层的服务,分别负责分布式模块通讯、分布式协同(消息队列、一致性管理)、分布式调度(多线程资源和任务管理)
OpenStack(华为使用的架构):
然后再看看各模块堆在一起的逻辑架构图,阿里云:
橙色部分为飞天云内核,橙色中心最底层“3+1”个模块是核心中的核心,其中的“3”指夸父、伏羲、女娲,负责解决分布式计算的核心问题—多机多线程下进程调用、资源调度、数据一致问题;剩下的“1”是安全,单独拿出来设计。
这4个模块之上承载分布式存储(比较奇怪的是官方没有提及计算和网络虚拟化模块“后羿”)。再之上是计算、网络、存储的虚拟化服务,已经到”Poratal”的层面了。右侧神农负责分布式系统的状态监控,左侧天基负责分布式部署(这里倒是比较像负责计算和网络虚拟化的地方)。
openstack:
最上面Horrizon算是portal层;其下Nova、Neutron、Cinder/Swift作为计算、网络、存储虚拟化模块直接服务与虚拟机创建;之下Cellometer、Keystone 负责监视和提供安全服务。(ps:Heat是OpenStack给开发者们提供开发编排便利的,可以忽略)