OpenStack云平台技术的机遇与挑战

1. OpenStack介绍
1.1 什么是虚拟化

虚拟化是一种具体技术,指的是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来。虚拟化技术打破实体结构间不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。

1.2 什么是云计算

云计算是一种业务模式,按需分配,随时伸缩的。想要实现云计算业务模式,可以借助虚拟化来实现。

1.3 云计算的三种类型
  • 私有云:放在私有环境中,如企业在机房中建立的。或者运营商建立好,租售给某个企业。企业之外的用户是无法使用的。
  • 公有云:放在互联网上面,只要注册的用户,付费的用户都可以使用。
  • 混合云:公有云和私有云的混合。

12306在春运前租用阿里的公有云服务,将大量的查询服务交给公有云托管。阿里只提供查询的服务,不涉及系统功能的改造,也不涉及敏感数据。所有,数据的安全也是可以保证的。通过混合云的方式,12306既能满足春运期间高流量、高并发的问题,又能够保证数据的安全性。

1.5 什么是OpenStack

在这里插入图片描述
Openstack是一个可以管理整个数据中心里大量资源池的云操作系统,这个资源池包括计算资源池、存储资源池和网络资源池。管理员可以通过一个Web的管理控制台来管理这些资源池,并且提供外部接口来为第三方应用通过API来访问这些资源池。OpenStack是开源的,是由很多开源项目组成的。严格来讲,OpenStack并不是如官方所说是一个云操作系统,而是一个集成的框架。

2. OpenStack项目介绍
2.1 OpenStack核心项目
  • Nova:计算服务;计算资源生命周期组件
  • Neutron:网络服务;提供云计算环境下的虚拟网络环境。
  • Cinder:块存储服务;管理计算实例所使用的块级存储。
  • Swift:对象存储服务;用于永久类型的静态数据的长期存储。
  • Glance:镜像服务;提供虚拟机镜像的发现、注册和获取服务。
  • Keystone:认证服务;提供了用户信息管理,为其它组件提供认证服务。
  • Horizon:用以管理、控制OpenStack服务的Web控制面板。
2.2 OpenStack组件之间关系

在这里插入图片描述
以创建虚拟机为例来看这些服务是怎么建立起关系的。 Horizon服务提供给用户Web界面,但是需要Keystone提供认证后才允许通过Web界面创建虚拟机。进入Web界面后,向Nova发送指令创建虚拟机。虚拟机是一个裸机,需要安装操作系统,操作系统是通过镜像文件安装的,镜像是Glance提供的,镜像文件存储在Swift中。Glance收到创建虚拟机的请求获取镜像文件后,从Swift中获取镜像文件,再把这个镜像文件提供给Nova用来创建虚拟机。虚拟机完成以后,需要把这个新创的虚拟机加入到已存在的集群里面。最后,搭建网络由Neutron完成。如果在使用虚拟机过程中,发向为虚拟机分配的存储空间不够了,那么可以使用Cinder服务,为虚拟机挂载新的硬盘并且管理硬盘的生命周期。

3. OpenStack开源社区现状
3.1 OpenStack生态圈

OpenStack有32329个会员,555个组织机构,177个国家。这还是之前的数据!

3.2 OpenStack基金会

OpenStack基金会由三个委员会组成,董事会、技术委员会、用户委员会。董事会代表商业利益,由8个白金会员和8个黄金会员以及8个个人用户组成,每家公司只能有一个董事会成员,一年选举一次。技术委员会代表开发者,指导OpenStack项目的开发和项目发展的方向。技术委员会由13个成员组成,半年选举一次。用户委员会代表用户,由董事会和技术委员会提名产生的,共是3个成员。OpenStack基金会的存在保证了OpenStack健康稳定的发展。

3.3 OpenStack社区治理模式

OpenStack除了前面介绍的核心项目,还有孵化的项目、支持的项目和其它项目。OpenStack整个系统是由许多开源软件构成的集合,最主要的是孵化项目和核心项目,项目特别好才可能成为核心项目,如惠普公司贡献给OpenStack比较成熟的项目Horizon。一般的项目一开始要从孵化项目,然后经过发展变得成熟并且被技术委员会认可,才可以转成核心项目。

3.4 OpenStack发展趋势
  • 由IaaS扩展到PaaS
  • 技术标准化
  • 互联互通
3.4 OpenStack发展历史

在这里插入图片描述

3.5 OpenStack开发语言

OpenStack的所有代码均采用Python语言开发。首先Python的代码非常简洁,开发效率很高。其次,Python是一种"胶水"语言。KVM就是C语言开发的,但是Python能够很轻松调用KVM,通过它创建和管理虚拟机。

3.6 OpenStack架构
4. OpenStack项目整体架构与演进
5. 基于Openstack实现的成功案例
6. OpenStack和CloudStack以及Docker的对比
发布了54 篇原创文章 · 获赞 138 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Thanlon/article/details/103685091