OpenStack从入门到吹牛,看这一篇就够啦!
作者:小枣君
来源:鲜栆课堂
最近几年,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从入门到吹牛,看这一篇就够啦!相关推荐
- OpenStack入门科普,看这一篇就够啦
OpenStack入门科普,看这一篇就够啦 科技百分百 2019-07-06 10:06:00 作者 | 小枣君 来源 | 鲜枣课堂 大家好,我是小枣君. 最近几年,OpenStack这个词开始频繁出 ...
- OpenStack入门科普,看这一篇就够啦!
戳蓝字"CSDN云计算"关注我们哦! 作者 | 小枣君 来源 | 鲜枣课堂 大家好,我是小枣君. 最近几年,OpenStack这个词开始频繁出现,引起了越来越多人的关注. 对于大部 ...
- python 入门基础-零基础入门Python,看这一篇就够了!
前言 Python语言,诞生于20世纪90年代初的一个圣诞节,始于创始人吉多·范罗苏姆 "打发无聊",至此已成功运行30年.其名Python(蟒蛇)取自于英国的电视喜剧<蒙提 ...
- [还不会搭建博客吗?]centos7系统部署hexo博客新手入门-进阶,看这一篇就够了
文章目录 \*本文说明 请大家务必查看 前言 首先介绍一下主角:Hexo 什么是 Hexo? 环境准备 详细版 入门:搭建步骤 安装git: 安装node: 安装Hexo: 进阶:hexo基本操作 发 ...
- 2023零基础入门网络安全,看这一篇就够了
网络安全不难,网络安全入门更简单!可不要被它神秘的外衣给唬住了. 只要你接下来认真听完我的讲解,虽然保证不了你能成为大神,但就算你学习能力再差那也能达到入门级别. 开篇建议: 1.这是一条坚持的道路, ...
- 快速入门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 ...
- 转载:Docker入门只需看这一篇就够了
最近项目中需要用到 Docker 打包,于是上网查找资料学习了 Docker 的基本命令,记录一下自己遇到的一些错误. 准备开始自己写,结果看到了阮一峰老师的文章,瞬间就没有写下去的动力了,转载大佬的 ...
- 入门Retrofit,看这一篇就够了
文章目录 Retrofit介绍 基础使用步骤 添加依赖 声明网络权限 创建用于配置网络请求的接口 创建Retrofit实例并发起网络请求 Retrofit使用详解 请求方法 URL操作 请求体 标记注 ...
- 毫无基础的人如何入门 Python 【看这一篇就够了】
Python是目前最好的编程语言之一.由于其可读性和对初学者的友好性,已被广泛使用.那么要想学会并掌握Python,可以实战的练习项目是必不可少的.接下来,我将给大家介绍20个非常实用的Python项 ...
- Kafka消息队列 入门到精通 看这一篇就够了
文章目录 第一章 概述 1.1 Kafka 的定义及特点 1.2 消息队列的介绍 1.3 Kafka 的基础架构 第二章 入门 2.1 Kafka 的安装部署 2.2 Kafka 命令行操作 第三章 ...
最新文章
- 好的架构是有价值观的
- pyqt5实战之使用画布显示缩略图
- sizebox模型下载_css 盒模型、box-sizing 学习笔记
- opencv 直线检测
- 单链表基本操作(可执行程序),二级指针使用必要性的初步理解
- fitEllipse函数
- hdu1166敌兵布阵 树状数组裸题
- linux怎样自制库_如何制作自己的LINUX系统?
- 图像处理傅里叶变换图像变化_傅里叶变换和图像床单视图。
- RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议
- oracel动态sql实例
- 《Python编程从入门到实践》记录之range、min、max、sum函数
- 【小型JavaFx项目】文字小冒险游戏
- mulitpartfile怎么接收不到值_GNSS接收机设计杂谈(射频前端+捕获)
- Android应用启动画面实现
- Odoo12功能增强模块
- 人不成熟的5大特征,成功人士的7个习惯,成长型思维
- fast-lio 卡尔曼滤波
- zabbix agent安装配置
- GNN-图卷积模型-2016:GCN【消息传递(前向传播):聚合函数+更新函数】【聚合函数:mean(邻域所有节点取平均值)】【训练更新函数的参数】【空域+频域】【直推式学习】【同质图】
热门文章
- 系统级dialog与软键盘的冲突处理
- linux系统sha256校验命令,文件MD5、SHA1、SHA256校验
- 一种解决游戏无声音的方法
- rda冗余分析步骤_数量生态学笔记||冗余分析(RDA)
- 一、PCI总线信号定义
- 再获金融行业认可 冲量在线获第五届浦发银行国际金融科技创新大赛提名奖
- 陈儒老师的《Python源代码剖析》需要理解的东西(源码解析的pdf文档需要自己网上下载)
- maven 报 Could not find goal '' in plugin org.apache.maven.plugins:maven-help-plugin:3.1.0
- 蓝桥杯第四届真题 :梅森素数
- uniapp保存图片到相册demo效果(整理)