咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

初识OpenStack

什么是 OpenStack

官网介绍:
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms.
A dashboard is also available, giving administrators control while empowering their users to provision resources through a web interface.
Beyond standard infrastructure-as-a-service functionality, additional components provide orchestration, fault management and service management amongst other services to ensure high availability of user applications.
有道翻译:
OpenStack是一个云操作系统,它控制整个数据中心中的大量计算、存储和网络资源,所有这些资源都是通过具有公共身份验证机制的api管理和供应的。
还提供了一个仪表板,让管理员控制,同时授权用户通过web界面提供资源。
除了标准的基础设施即服务功能之外,其他组件还提供编排、故障管理和服务管理,以确保用户应用程序的高可用性。

Openstack最初是由NASA和Rackspace在2010年共同发起的一个开源的云计算平台项目,目前项目正在被 Reahat、IBM、AMD、Intel、戴尔、思科、微软等超过一百家厂商共同研发,目前国内对于云计算的需求也逐渐增加,华胜天成、高德地图、京东、阿里巴巴、百度、中兴、华为等中国企业也加入到了Openstack项目研发当中,Openstack项目也正在随着全球内得到了众多厂商的参与支持而快速成熟。

OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。

试想一下,在 虚拟化环境中,诸如存储、CPU 和 RAM 等资源都是从诸多供应商特定的项目中提取出来,然后由虚拟机监控程序进行拆分并按需进行分配。OpenStack 使用一组一致的应用编程接口(API),进一步将这些虚拟资源提取为离散池,用于辅助标准云计算工具,供管理员和用户直接交互使用。

OpenStack 实际上由一系列叫作脚本的命令组成。这些脚本会被捆绑到名为项目的软件包中,这些软件包则用于传递创建云环境的任务。
为了创建这些环境,OpenStack 还会使用 2 种其他类型的软件:

  • 虚拟化软件,用于创建从硬件中抽象出来的虚拟资源层
  • 基础操作系统(OS),用于执行 OpenStack 脚本发出的命令

你可以这样理解:OpenStack 本身不会虚拟化资源,但会使用虚拟化资源来构建云。OpenStack 也不执行命令,但会将命令转发到基础 OS。OpenStack、虚拟化软件和基础操作系统,这 3 种技术必须协同工作。正是由于这种相互依赖性,所以许多人才会使用 Linux® 来部署 OpenStack 云,也因此,RackSpace 和 NASA 才会将 OpenStack 作为开源软件来发布。

OpenStack 解决什么问题

管理虚拟化软件, OpenStack 几乎支持所有的虚拟化管理程序,不论是开源的 Xen 与 KVM 还是厂商的(Hyper-V与VMware),如果在一两台机安装 Xen 与 KVM,那没什么问题,如果有大量的机器,那管理是不是很麻烦?除了要安装操作系统,还需要管理网络,磁盘等等!

OpenStack 就是解决这些管理问题,通俗的讲,OpenStack 是可以为你提供一个类似 亚马逊控制台的东西,假如一些大企业不使用 亚马逊云ES或者阿里云ESC等公有云,自己搭建机房和云平台(私有云),那么 OpenStack 可以帮助企业管理云,它主要的目标是简化资源的管理和分配。

OpenStack 中有哪些项目?

OpenStack用Python写的,包含很多组件,类似DIY一台PC机一样。

OpenStack 架构由大量开源项目组成。其中包含 6 个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像; 同时,还为用户提供了十多种开发成熟度各异的可选服务。OpenStack 的 6 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。

  1. Nova 是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
  2. Neutron 能够连接其他 OpenStack 服务并连接网络。
  3. Swift 是一种高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象。
  4. Cinder 通过自助服务 API 访问持久块存储。
  5. Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
  6. Glance 可存储和检索多个位置的虚拟机磁盘镜像。

OpenStack 安装部署繁琐?

安装官网资料,OpenStack的安装时简单的,具体可以看 《参考资料:使用openstack部署云计算服务环境》,该文完全的演示了如何在Openstack软件中配置虚拟网络、创建主机实例模板、创建云主机实例、添加及挂载云硬盘等操作。

外界的评价如何?

外界对OpenStack的评价可不太好,甚至有一种声音为:OpenStack已死。为什么会有这种声音?

先看一下OpenStack的历史:

2010年,NASA和Rackspace公司将其开源。
2012年,NASA停止OpenStack研发。
2015年,Rackspace宣布将客户业务迁移到AWS。

虽然国外很多大厂都放弃OpenStack,但国内OpenStack的热度还是很好的,总的来说,OpenStack入门门槛还是比较低的,普通的运维估计都能搞定。
知乎:Openstack和阿里云、AWS、AZURE等的竞争发展趋势分析?
放弃 OpenStack?恐怕还不到时候

国内哪些大厂在用OpenStack?

网上说腾讯和华为云起步的比较晚,都是基于OpenStack的。

AWS最早的模型在2002年就出现了,2006年正式上线。Google的GAE最早是 2008 年出现,比亚马逊晚了起码两年。阿里云也是在2008年开始的,其飞天云系统2009年上线,而openstack是2010年开始开源的。

所以在2018年5月23日云栖大会上阿里云总裁胡晓明表示:“坚持自主研发之路,“‘拿来主义’盖不出高楼大厦,自主研发的云才能走得更远”。

多年发展之后,中国云计算行业呈现出两种发展路径:一种是从底层开始自主研发操作系统,比如阿里云的飞天;一种是基于OpenStack等第三方软件搭建。自主研发通常需要投入巨量的人、财、物,短期看不到成功,遇到多方质疑仍要坚持初心,是典型的“Hard模式”。亚马逊的AWS、微软的Azure、阿里巴巴的阿里云等全球最大的三朵云都是自主研发。


参考资料