什么是 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 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。
- Nova 是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
- Neutron 能够连接其他 OpenStack 服务并连接网络。
- Swift 是一种高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象。
- Cinder 通过自助服务 API 访问持久块存储。
- Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
- 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、阿里巴巴的阿里云等全球最大的三朵云都是自主研发。