作者:小枣君
来源:鲜栆课堂

最近几年,OpenStack这个词开始频繁出现,引起了越来越多人的关注。

对于大部分人来说,这是一个很陌生的词,不知道它到底是什么,从哪里来,有什么用,和自己的工作有什么关系。

有人可能知道,它和现在非常火的云计算有很大的关系。伴随它一起出现的,还有很多新词,例如NFV、Nova、Neutron、Horizon等,更加让人云里雾里。

为了消除大家的疑惑,今天就来一个“大揭秘”——通过这篇通俗易懂的科普文,帮助大家轻松入门「OpenStack」。

OpenStack的起源

这玩意到底是从哪冒出来的?

我们先来说说OpenStack的起源吧。

2002年,美国著名的电商公司亚马逊(Amazon)干了一件“不务正业”的事。他们向客户推出了一项全新的业务——包括存储空间、计算能力等资源服务的Web Service。这就是大名鼎鼎的AWS(Amazon Web Service)。

说白了,这个Web Service服务,就是为大家提供“远程电脑”。你可以远程控制它,有硬盘,有CPU,有内存啥的。你在上面配置你的各种服务,然后给你的用户使用,例如网站、FTP等。

这个就是云计算的一种早期形式。

后来,到了2006年,亚马逊又推出了弹性计算云(Elastic Compute Cloud),也称 EC2。

EC2配置界面更简单,使用起来更方便,关键一点,它开始有了“弹性”!

什么是“弹性”?别着急,等会我们再解释。

同样是2006年,8月9日,Google首席执行官埃里克·施密特在搜索引擎大会上首次提出“云计算”(Cloud Computing)的概念。从此,云计算进入了高速发展阶段。

云计算

到了2010年,当时有一家名叫Rackspace的公司,他们一直在做和亚马逊一样的云主机和云储存服务,但是始终都干不过亚马逊,排名第二。他们一气之下,干脆就把它们的云储存服务给开源了。

啥叫开源(Open Source)?开源就是开放源代码,把程序的代码公开了,给所有人免费查看和使用。

和他们一起开放源代码的,还有一个家伙,就是——NASA。

好吧,又是一个“不务正业”的家伙。

NASA之前在云计算方面投入了大量的资金,但是后来发现这玩意好像是个无底洞,太烧钱了。而且,他们也似乎意识到这不是他们该干的事。所以,NASA和Rackspace一起,选择开放源代码。

*其实还有一个原因:以前NASA是使用Eucalyptus云计算管理平台,不过这个平台分成两个版本,一个开源的版本,一个收费的版本。这就导致NASA很不爽,向Eucalyptus贡献代码,结果Eucalyptus认为这个代码和收费版本冲突,不接受。NASA给气得不行,所以选择了将代码开源。

Rackspace和NASA并不是简单地代码一丢完事,而是联手共同成立了一个开源项目。这个项目,就是OpenStack。

OpenStack的版本

开源后的OpenStack,到底经历了什么?

开源项目的玩法,和企业内部研发是完全不一样的。

开源项目中,地球上所有人都可以为这个项目贡献自己的力量,也可以使用这个项目的开发成果。也就是说,“人人为我,我为人人”。

开源(Open Source)

但是,为了保证项目能规范、有序地推进下去,还是需要有人“牵头”和“打杂”的。

OpenStack作为一个开源项目,它是由开源社区来负责推进和维护的。

这个社区也并不是一盘散沙,它有自己的组织形态。

首先,有一个OpenStack基金会,下面设立了董事会、技术委员会、用户委员会。基金会享有话语权,进行目标和发展的引导。

基金会成员有三种形式。首先是独立个体,也就是以个人名义为OpenStack做出贡献。

其次是铂金会员。主要由对OpenStack作出重要承诺的公司组成,他们提供资金与资源。

目前,OpenStack基金会主要有 7 家铂金会员:

最后是金牌会员。同样由公司组成,他们赞助的资金与资源比铂金会员稍微少一些。

目前,OpenStack基金会拥有 21 位金牌会员:

从2010年项目诞生之日起,OpenStack开源社区每年都会开两次设计峰会(Design Summit),发布两个正式版本。迄今为止,一共已经出了17个版本。

OpenStack设计峰会

这里我要开启“吐槽”模式了。。。

开源社区这帮搞技术的宅男腐女,不管年龄大小,内心仍然是一群孩子。他们平时在公司上班比较“木鸡”,在社区这种自由环境里是一个比一个“皮”。

从哪可以看出来?就在“取名”上——他们竟然给每个版本都单独取了一个名字。。。(而非商业软件一样按数字序号命名)

每个版本的名字如下:

不知道大家看出来没有,这些名字都是有“玄机”的!

首先,版本号的第一个字母,从A开始,然后B、C、D…

其次,每个名字都是从当次设计峰会所在城市中选一个地名,作为该版本的名字。

例如,第一个版本Austin,就是根据Rackspace公司所在地(也是第一次峰会所在地)——美国德克萨斯州的首府“奥斯丁”确定的。

还有第9个版本,当时峰会是在我国香港举办的,用的“雪厂街”这个名字。

这么做的直接后果就是,记忆和分辨起来真的很困难,容易看晕。。。

OpenStack的架构

它由哪些部分组成?是如何进行工作的?

接下来,我们看看OpenStack的架构。

前面说了,OpenStack从一开始,就是为了云计算服务的。简单来说,它就是一个操作系统,一套软件,一套IaaS软件。

什么是IaaS?Infrastructure as a Service,基础设施即服务。

云计算的三种服务模式:IaaS、PaaS、SaaS

管理“基础设施资源”,便于用户调用和使用,是OpenStack的首要任务。

基础设施资源,主要包括三个方面:计算、存储、网络。说通俗点,就是CPU,硬盘,网卡。

OpenStack对资源进行管理,并且以服务的形式提供给上层应用或者用户去使用。

例如前面我们所说的“弹性”。正是因为资源能够被灵活调用,所以用户使用资源时,这个云平台可以根据用户的需要,动态增加和删减资源,不用中断用户的使用,更无需全新申请。这就是“弹性”。

那么,它到底是如何实现的呢?

答案是——通过它的众多组件。

前方高能预警……

学习OpenStack,最痛苦的事情,莫过于看它的架构。

不信?好,扔个图给你看:

OpenStack系统架构逻辑关系图

这还不算是最复杂的,再扔一个给你:

好了好了,不扔了,人都跑光了。。。

OpenStack拥有众多的组件,通过组件之间协同进行工作,所以看上去架构非常复杂。

我还是用一个简单的图吧,看得更明白些。如下:

这个图里面的彩色方块,就是OpenStack最核心的组件。

说到这些组件的名字,我实在忍不住又要吐槽这帮程序猿了,简直就是“取名狂魔”!他们不仅给每个项目版本单独取名字,连openstack内部的组件也难逃他们的魔爪。。。

OpenStack关键组件及作用

这些组件里,我挑几个再介绍一下(看不懂也没关系,可以跳过):

  • Nova

Nova是整个Openstack里面最核心的组件。当初Rackspace和NASA贡献代码时,NASA贡献的那部分就是Nova最早的代码(Rackspace贡献的代码是Swift)。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,它负责管理整个云的计算资源、网络、授权及测度。

  • Keystone

Keystone为所有的OpenStack组件提供认证和访问策略服务,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。

  • Horizon

Horizon是一个用以管理、控制OpenStack服务的Web控制面板。用户可以通过这个界面对OpenStack状态进行查看和管理。

用Horizon管理OpenStack

也就是说,OpenStack的组件都有自己的功能定位。其实,每个组件都可以算是独立的一个程序(Software)。

Open为开放之意,Stack则是堆砌

也就是许多Open的Softwares进行集合和堆砌。

关于技术细节,就先说这么多吧,再说下去估计人都跑光啦。。。

OpenStack的发展

现在的它,是一个什么规模和状态?

经过八年的努力,如今的OpenStack已经今非昔比。

很多企业和个人纷纷加入Openstack开源社区,使之成为了目前仅次于Linux的全球第二大开源社区。

按官网最新数据,现在有180多个国家,677家企业,87426名社区会员通过各种方式支撑着这个项目。项目的代码也已经超过了2000万行。

全球一半以上的500强企业,都采用了OpenStack技术。而且,根据调查,有75%以上的企业打算今后使用这项技术。

OpenStack在各行业的应用情况占比(2017年)

这里要特别强调一下,虽然OpenStack是云计算技术,主要是IT的概念,但对于通信行业来说极为重要。

通信网络中的核心网,已经全面开始了向虚拟化和云计算的演进。现在通信行业里火热的NFV技术,就是基于虚拟化的,采用了IT里面的很多理念和设计。

而核心网的IT化,将是整个通信系统IT化的第一步。

华为的FusionSphere平台和中兴的TECS平台,都是基于OpenStack进行二次开发的商业系统。这些平台都已经被自家的核心网和云计算产品采用,目前处于替代传统平台的阶段。

OpenStack之所以这么受欢迎,主要原因有三个方面:

首先是快速。OpenStack安装部署所需要的时间很少,而时间就是价值。

其次是灵活。OpenStack获得了各大领导厂商的广泛支持,兼容性和适用性极强,使用起来非常方便可靠。

最后是便宜。作为开源项目,OpenStack的使用成本相对低廉,还能获得源源不断的更新,因为开源社区在为项目贡献活力。

总而言之,Openstack拥有非常大的发展潜力,目前处于高速发展的上升期。在未来很长一段时间内,这种趋势都不会改变。

OpenStack的学习

到底该如何对它进行学习呢?

经过上面的介绍,想必大家热血沸腾,跃跃欲试了吧?

OpenStack这么牛掰,到底该如何学习它呢?它看上去那么复杂,会不会很难学会呢?

其实,虽然前面看到的架构很复杂,但是真心要学习OpenStack的话,并没有想象得那么困难。

因为OpenStack是开源的项目,所以互联网上相关的学习资料非常丰富。无论是官方文档,还是非官方资料,都数不胜数。

所以,问题不在于资料缺乏,而是资料太多你看不完…

官方网站强大的资料库和技术支撑

https://www.openstack.org/

网上也有很多手把手进行教学的文档和视频,可以方便新人学习时进行参考。

推荐几个大咖,大家可以百度找他们的博客来看:陈沙克、刘世民、Cloudman。

有了官方资料,加上大咖的博客,你只需要一台电脑,你就可以开始OpenStack的学习——直接下载,直接安装,直接配置,直接使用,没有任何门槛要求。

如果遇到问题,先别急着找人问,先自己尝试找资料解决,一定会学得嗖嗖快。

不过,OpenStack入门虽然很容易,但是精通就很难了。需要长时间不断地钻研和积累,还需要进行大量的实践部署,才有可能成为专家。

到底哪些人需要学习OpenStack呢?

有三种人最应该立刻开始对它的学习。

  • IT行业从业者

这就不用多说了,未来网络就是云计算,大数据的天下,只要是从事IT方面的工作,肯定会和云打交道,OpenStack作为云计算技术的代表,是一个合适的切入点。

  • 通信、电子、计算机专业的大学生

云计算技术在目前大部分高校都没有合适的教学规划,所以,在校大学生应该注意提前进行此类趋势技术的学习,既有利于就业,又能紧跟时代节奏,选择将来进修的合适方向。

  • 通信行业从业者

啥都别说了,通信人赶紧去学习吧。。。

推荐阅读

《精通OpenStack(原书第2版)》

推荐语:全方位阐释OpenStack私有云架构设计、核心功能、自动化部署与运维的实用技术、方法及实践

你与世界

只差一个

公众号

点击“阅读原文”挑选更多云计算好书!

OpenStack从入门到吹牛,看这一篇就够啦!相关推荐

  1. OpenStack入门科普,看这一篇就够啦

    OpenStack入门科普,看这一篇就够啦 科技百分百 2019-07-06 10:06:00 作者 | 小枣君 来源 | 鲜枣课堂 大家好,我是小枣君. 最近几年,OpenStack这个词开始频繁出 ...

  2. OpenStack入门科普,看这一篇就够啦!

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 小枣君 来源 | 鲜枣课堂 大家好,我是小枣君. 最近几年,OpenStack这个词开始频繁出现,引起了越来越多人的关注. 对于大部 ...

  3. python 入门基础-零基础入门Python,看这一篇就够了!

    前言 Python语言,诞生于20世纪90年代初的一个圣诞节,始于创始人吉多·范罗苏姆 "打发无聊",至此已成功运行30年.其名Python(蟒蛇)取自于英国的电视喜剧<蒙提 ...

  4. [还不会搭建博客吗?]centos7系统部署hexo博客新手入门-进阶,看这一篇就够了

    文章目录 \*本文说明 请大家务必查看 前言 首先介绍一下主角:Hexo 什么是 Hexo? 环境准备 详细版 入门:搭建步骤 安装git: 安装node: 安装Hexo: 进阶:hexo基本操作 发 ...

  5. 2023零基础入门网络安全,看这一篇就够了

    网络安全不难,网络安全入门更简单!可不要被它神秘的外衣给唬住了. 只要你接下来认真听完我的讲解,虽然保证不了你能成为大神,但就算你学习能力再差那也能达到入门级别. 开篇建议: 1.这是一条坚持的道路, ...

  6. 快速入门RabbitMq,看这一篇就够了。

    RabbitMq 1. MQ 1.1 MQ的相关概念 1.2 为什么要用MQ? 1.2.1 流量消峰 1.2.2 应用解耦 1.2.3 异步处理 1.3 MQ分类 1.3.1 ActiveMQ 1.3 ...

  7. 转载:Docker入门只需看这一篇就够了

    最近项目中需要用到 Docker 打包,于是上网查找资料学习了 Docker 的基本命令,记录一下自己遇到的一些错误. 准备开始自己写,结果看到了阮一峰老师的文章,瞬间就没有写下去的动力了,转载大佬的 ...

  8. 入门Retrofit,看这一篇就够了

    文章目录 Retrofit介绍 基础使用步骤 添加依赖 声明网络权限 创建用于配置网络请求的接口 创建Retrofit实例并发起网络请求 Retrofit使用详解 请求方法 URL操作 请求体 标记注 ...

  9. 毫无基础的人如何入门 Python 【看这一篇就够了】

    Python是目前最好的编程语言之一.由于其可读性和对初学者的友好性,已被广泛使用.那么要想学会并掌握Python,可以实战的练习项目是必不可少的.接下来,我将给大家介绍20个非常实用的Python项 ...

  10. Kafka消息队列 入门到精通 看这一篇就够了

    文章目录 第一章 概述 1.1 Kafka 的定义及特点 1.2 消息队列的介绍 1.3 Kafka 的基础架构 第二章 入门 2.1 Kafka 的安装部署 2.2 Kafka 命令行操作 第三章 ...

最新文章

  1. 好的架构是有价值观的
  2. pyqt5实战之使用画布显示缩略图
  3. sizebox模型下载_css 盒模型、box-sizing 学习笔记
  4. opencv 直线检测
  5. 单链表基本操作(可执行程序),二级指针使用必要性的初步理解
  6. fitEllipse函数
  7. hdu1166敌兵布阵 树状数组裸题
  8. linux怎样自制库_如何制作自己的LINUX系统?
  9. 图像处理傅里叶变换图像变化_傅里叶变换和图像床单视图。
  10. RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议
  11. oracel动态sql实例
  12. 《Python编程从入门到实践》记录之range、min、max、sum函数
  13. 【小型JavaFx项目】文字小冒险游戏
  14. mulitpartfile怎么接收不到值_GNSS接收机设计杂谈(射频前端+捕获)
  15. Android应用启动画面实现
  16. Odoo12功能增强模块
  17. 人不成熟的5大特征,成功人士的7个习惯,成长型思维
  18. fast-lio 卡尔曼滤波
  19. zabbix agent安装配置
  20. GNN-图卷积模型-2016:GCN【消息传递(前向传播):聚合函数+更新函数】【聚合函数:mean(邻域所有节点取平均值)】【训练更新函数的参数】【空域+频域】【直推式学习】【同质图】

热门文章

  1. 系统级dialog与软键盘的冲突处理
  2. linux系统sha256校验命令,文件MD5、SHA1、SHA256校验
  3. 一种解决游戏无声音的方法
  4. rda冗余分析步骤_数量生态学笔记||冗余分析(RDA)
  5. 一、PCI总线信号定义
  6. 再获金融行业认可 冲量在线获第五届浦发银行国际金融科技创新大赛提名奖
  7. 陈儒老师的《Python源代码剖析》需要理解的东西(源码解析的pdf文档需要自己网上下载)
  8. maven 报 Could not find goal '' in plugin org.apache.maven.plugins:maven-help-plugin:3.1.0
  9. 蓝桥杯第四届真题 :梅森素数
  10. uniapp保存图片到相册demo效果(整理)