浅谈OpenStack(一)

本文分享自天翼云开发者社区《浅谈OpenStack(一)》,作者:EmmaDu

OpenStack刚诞生的时候比较单纯,只有计算(NASA开源)和存储(Rackspace开源)两个功能组件,至于NASA和Rackspace开源这两个项目并成立OpenStack社区(https://www.openstack.org)的原因,网络上流传了很多版本,感兴趣的同学可以去网上找找。

个人认为OpenStack是一个伟大的开源项目,几乎所有的架构、所有的厂商都能在社区找到解决方案。截至到现在,OpenStack已经拥有超过1000万行核心代码,这是由8000多名开发者贡献了50万+的变更得来的。最初的OpenStack有多厉害?很多开发者仅仅是把OpenStack的代码搬到本地,运行起来再卖出去,就能成立一家公司。

OpenStack刚开始只有nova(计算)和swift(存储)两个核心组件,尤其是nova,几乎负责了云主机生命周期的所有操作,包括cpu、内存、磁盘、网络等,后来随着功能越来越多,项目越来越庞大,社区才把镜像管理(nova-image)服务、存储管理(nova-volume)服务、网络管理(nova-network)服务等独立出来,于是有了glance、cinder、neutron等服务。在OpenStack里有两个概念:组件和服务。我们把每个完成独立功能的项目称为一个组件,比如nova、cinder、glance、neutron。每个组件里会细分很多个服务,用来承担不同的职责,比如nova里会有nova-api服务,负责api请求的处理;nova-scheduler服务负责宿主机的调度;nova-compute服务负责与虚拟化软件进行交互,来操作云主机。

image

上图展示了OpenStack里的主要核心组件的交互流程,可以看到,组件和组件之间通过RESTful API交互;组件内的服务和服务之间通过消息队列交互。整个架构,逻辑清晰,组件之间相互独立,耦合性很低;而组件内部,通过消息队列来传递请求,耦合性也很低。个人认为,松耦合是OpenStack最大的特点,也是最值得学习的地方。

什么是松耦合?松耦合是指系统架构中不同的组件之间存在低度的耦合关系,这之间彼此相互独立,如果发生改变,其他相关模块不受影响,即可以分离出来独立开发或替换。我们的TeleCloudOS4.0底座虽然不再使用OpenStack,但是在做设计时,还是有很多OpenStack的影子。比如,现在各个产品线之间负责独立组件(计算、存储、网络等),而每个组件之间通过RESTful API的方式进行调用;比如每个组件内部又细分了很多服务,来负责不同的功能(api、调度、计算代理服务等)。各个产品线只需要专注的实现自有的产品功能,而不需要关心其他产品的内部实现,产品线的产品调用通过RESTful API来实现,只要定义好对接的接口格式,就可以实现并行开发,独立维护,互不影响,可以大大的提升开发效率,同时某一个组件的bug影响范围控制在组件内部,对其他组件不会造成影响。而产品线内部在设计时,也参考了OpenStack,将一个组件细分成很多服务来承担不同的任务,服务之间通过分布式队列来交互,其实和OpenStack异曲同工。

点赞
收藏

评论区

加载中...

相关推荐

VPS作用都有啥?

国内VPS服务器我们可以将它用在哪些地方,首先我们就要知道作为VPS主机,它所拥有哪些功能。今天就做一个简单的使用介绍,采用的环境是3A网络的VPS服务器,性价比较高。每个VPS服务器都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。VPS用户除了可以分配多个虚拟主机及无限企业邮箱外,更具有独立服

OpenStack

1.OpenStack示例的架构介绍1.1各节点介绍(1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板。它还包括支持服务,如SQL数据库,消息队列和NTP。可选地,控制器节点运行块存储,对象存储,编排和遥测服务的部分。注:计算节点上需要至少配置两

OpenStack最新版本Victoria发布亮点与初体验

前言OpenStack是一个云操作系统,可控制整个数据中心内的大型计算,存储和网络资源池,所有资源均通过具有通用身份验证机制的API进行管理和配置。还提供了一个仪表板,可让管理员进行控制,同时授权其用户通过Web界面配置资源。除了标准的基础架构即服务功能外,其他组件还提供业务流程,故障管理和服务管理等其他服务,以确保用户应用程序的高可用性

云服务器虚拟化超分与虚机性能关系分析

虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机(VM),每个VM都运行自己的操作系统(OS),类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。

天翼云云电脑:IAAS基础设施带来的计算革新

云电脑是一种基于云计算技术的虚拟化计算服务。它通过虚拟化技术将一台或多台物理服务器资源进行整合,形成一个共享资源池,从而提供弹性的云计算环境。在这个环境下,每个虚拟主机都可以独立运行,拥有自己的操作系统、存储空间和网络资源。与传统的电脑相比,云电脑最大的特点在于其无需购买昂贵的硬件设备,只需通过互联网连接就能获得所需计算资源和数据存储服务。

天翼云GPU云主机:共享信息技术与虚拟机的完美融合

GPU云主机是一种基于云计算技术的虚拟化服务器。它通过虚拟化技术将一台或多台物理服务器资源进行整合,形成一个共享资源池,从而提供弹性的云计算环境。在这个环境下,每个虚拟主机都可以独立运行,拥有自己的操作系统、存储空间和网络资源。与传统的云主机相比,GPU云主机最大的特点在于其配备了高性能的GPU计算卡,使得在进行大规模数据处理和复杂计算时能发挥出更强的计算能力。

浅谈OpenStack(一) - HelloWorld