全面讲解OpenStack技术知识

戳蓝字“CSDN云计算”关注我们哦!
640?wx_fmt=jpeg

作者 | 鲜枣课堂

责编 | 刘丹


640?wx_fmt=png

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

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

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

640?wx_fmt=png

OpenStack的起源

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

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

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

640?wx_fmt=png

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

后来,到了2006年,亚马逊又推出了弹性计算云(Elastic Compute Cloud),也称 EC2 。EC2配置界面更简单,使用起来更方便,关键一点,它开始有了“弹性”!

640?wx_fmt=gif

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

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

640?wx_fmt=jpeg
云计算

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

啥叫开源(Open Source)?开源就是开放源代码,把程序的代码公开了,给所有人免费查看和使用。和他们一起开放源代码的,还有一个家伙,就是——NASA

640?wx_fmt=png

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

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

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

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

640?wx_fmt=jpeg

OpenStack的版本

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


开源项目的玩法,和企业内部研发是完全不一样的。开源项目中,地球上所有人都可以为这个项目贡献自己的力量,也可以使用这个项目的开发成果。也就是说,“人人为我,我为人人”

640?wx_fmt=jpeg
开源(Open Source)

但是,为了保证项目能规范、有序地推进下去,还是需要有人“牵头”和“打杂”的。OpenStack作为一个开源项目,它是由开源社区来负责推进和维护的。这个社区也并不是一盘散沙,它有自己的组织形态。

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

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

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

640?wx_fmt=png
最后是金牌会员。同样由公司组成,他们赞助的资金与资源比铂金会员稍微少一些。目前,OpenStack基金会拥有 21 位金牌会员。

640?wx_fmt=png

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

640?wx_fmt=jpeg
OpenStack设计峰会

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

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

640?wx_fmt=png

不知道大家看出来没有,这些名字都是有“玄机”的!首先,版本号的第一个字母,从A开始,然后B、C、D… 其次,每个名字都是从当次设计峰会所在城市中选一个地名,作为该版本的名字。

例如,第一个版本Austin,就是根据Rackspace公司所在地(也是第一次峰会所在地)——美国德克萨斯州的首府“奥斯丁”确定的。还有第9个版本,当时峰会是在香港举办的,用的“雪厂街”这个名字。

640?wx_fmt=png

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

OpenStack的架构

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


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

什么是IaaS?Infrastructure as a Service,基础设施即服务(了解更多,看这里:“云计算”)。

640?wx_fmt=jpeg
云计算的三种服务模式:IaaS、PaaS、SaaS

管理“基础设施资源”,便于用户调用和使用,是OpenStack的首要任务。基础设施资源,主要包括三个方面:计算、存储、网络。说通俗点,就是CPU,硬盘,网卡。

640?wx_fmt=png

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

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

那么,它到底是如何实现的呢?答案是——通过它的众多组件。

前方高能预警……

学习OpenStack,最痛苦的事情,莫过于看它的架构。不信?好,扔个图给你看:

640?wx_fmt=jpeg
OpenStack系统架构逻辑关系图

吓尿了吧。这还不算是最复杂的,再扔一个给你。

640?wx_fmt=png

好了好了,不扔了,人都跑光了。OpenStack拥有众多的组件,通过组件之间协同进行工作,所以看上去架构非常复杂。我还是用一个简单的图吧,看得更明白些,如下:
640?wx_fmt=jpeg

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

640?wx_fmt=png
OpenStack关键组件及作用

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

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

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

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

640?wx_fmt=png
用Horizon管理OpenStack

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

640?wx_fmt=png
Open为开放之意,Stack则是堆砌
也就是许多Open的Softwares进行集合和堆砌。

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

OpenStack的发展

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

经过八年的努力,如今的OpenStack已经今非昔比。很多企业和个人纷纷加入Openstack开源社区,使之成为了目前仅次于LINUX的全球第二大开源社区。

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

640?wx_fmt=png

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

640?wx_fmt=png
OpenStack在各行业的应用情况占比(2017年)

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

通信网络中的核心网,已经全面开始了向虚拟化和云计算的演进。小枣君之前就介绍过,现在通信行业里火热的NFV技术,就是基于虚拟化的,采用了IT里面的很多理念和设计。而核心网的IT化,将是整个通信系统IT化的第一步

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

640?wx_fmt=png

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

  • 首先是快速。OpenStack安装部署所需要的时间很少,而时间就是价值。 
  • 其次是灵活。OpenStack获得了各大领导厂商的广泛支持,兼容性和适用性极强,使用起来非常方便可靠。
  • 最后是便宜。作为开源项目,OpenStack的使用成本相对低廉,还能获得源源不断的更新,因为开源社区在为项目贡献活力。

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

640?wx_fmt=jpeg
OpenStack的学习

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


经过上面的介绍,想必大家热血沸腾,跃跃欲试了吧?OpenStack这么牛掰,到底该如何学习它呢?它看上去那么复杂,会不会很难学会呢?

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

因为OpenStack是开源的项目,所以互联网上相关的学习资料非常丰富。无论是官方文档,还是非官方资料,都数不胜数。所以,问题不在于资料缺乏,而是资料太多你看不完…

640?wx_fmt=png
官方网站强大的资料库和技术支撑
https://www.openstack.org/

网上也有很多手把手进行教学的文档和视频,可以方便新人学习时进行参考。推荐几个大咖,大家可以百度找他们的博客来看: 陈沙克、何明桂、孔令贤,Cloudman。有了官方资料,加上大咖的博客,你只需要一台电脑,你就可以开始OpenStack的学习——直接下载,直接安装,直接配置,直接使用,没有任何门槛要求。如果遇到问题,先别急着找人问,先自己尝试找资料解决,一定会学得嗖嗖快。

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

到底哪些人需要学习OpenStack呢?小枣君觉得,有三种人最应该立刻开始对它的学习。

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

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

3、通信行业从业者
啥都别说了,通信人赶紧滚去学习吧。好啦,关于OpenStack的介绍,就到这里,谢谢大家的观看!

随着OpenStack大规模部署,并逐步走向商用的过程中,有很多经验和方法论值得参考和借鉴。笔者基于实战和网络资料,对OpenStack及相关知识进行了梳理,整理成书(OpenStack技术和实战详解),供学习者学习和参考。
640?wx_fmt=jpeg
640?wx_fmt=jpeg
640?wx_fmt=jpeg
640?wx_fmt=jpeg
640?wx_fmt=jpeg

640?wx_fmt=png

640?wx_fmt=png

福利
扫描添加小编微信,备注“姓名+公司职位”,入驻【CSDN博客】,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

640?wx_fmt=jpeg

推荐阅读:
  • 图文+动画讲解排序算法总结!!

  • 海底光缆,到底是怎么安装和维护的?

  • 对比 C++ 和 Python,谈谈指针与引用

  • 肖仰华:知识图谱构建的三要素、三原则和九大策略 | AI ProCon 2019

  • 年薪 170 万阿里 P8 程序员征婚上热搜,程序员婚恋观大曝光!

  • 对话行癫:CTO 最重要的是判断未来!| 人物志

  • 以太坊交易量第一合约FAIRWIN被爆漏洞, 竟是因为这个接口被滥用……

真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dubbo在互金行业的应用

摘要: 融之家技术团队从2015年截止到目前累计经历了4次演进(单体应用、多实例部署、半微服务、微服务),让平台能更懂用户,更理解用户的需求,把合适的人匹配到合适的产品。前言本文章是根据潘志伟老师在上海…

os是android5.0,Funtouch OS 2.1曝光 完美改Android5.0

由于设计风格华丽,UI特色鲜明,vivo基于Android 5.0开发的Funtouch OS 2.1曝光后,一直备受用户关注。近日,vivo官方再次公布其设计细节,据Funtouch官方微博发布的系统截图显示,Funtouch OS 2.1全面升级了And…

哈工大理论力学第八版电子版_校史上的这些天(37)| 和你一起在“岁月”中读懂哈工大...

1954年5月26日中央高等教育部委托哈工大组织举办理论力学、机械原理、机械零件3门课程教学座谈会。1990年5月26至27日哈尔滨建筑工程学院召开第六次党员代表大会。大会选举王玉林、朱华、刘剑秋、沈世钊、吴满山、张云学、张树仁、荣大成、高廷臣为中共哈尔滨建筑工程学院第六届…

fatal: remote origin already exists.报错已成功解决

在上传本地代码到github仓库时,出现下面这个问题: 解决办法: 先移除 git remote rm origin再次添加 git remote add origin https://github.com/jennaqin/jennaqin.github.io.git

阿里云 APM 解决方案地图

摘要: PM是近5年来伴随着云技术、微服务架构发展起来的一个新兴监控领域。在国内外,无论是云厂商(如AWS, Azure,等)还是独立的公司(Dynatrace, Appdynamics,等),都有着非常优秀的APM产品。APM 概述APM 全称是 Applicat…

云栖大会 | 释放计算弹性,阿里云做了很多

戳蓝字“CSDN云计算”关注我们哦!时至今日,已经没有人怀疑云计算是最主流的企业IT基础设施之一。围绕云计算最基础最核心的话题计算力,探讨在新硬件、新技术和新场景带来的机遇和挑战下,计算产品如何演进,使其价格更加…

支持Dubbo生态发展,阿里巴巴启动新的开源项目 Nacos

摘要: 上周六的Aliware技术行上海站Dubbo开发者沙龙上,阿里巴巴高级技术专家郭平(坤宇)宣布了阿里巴巴的一个新开源计划,阿里巴巴计划在7月份开启一个名叫Nacos的新开源项目, 在活动演讲中,坤宇介绍了这个开源项目的初衷&#xff…

地磅称重软件源码_电脑设备器件+塔吊主吊臂+撇渣管、丝杆+地磅称重传感器+极柱触头盒弯板+批式循环谷物干燥机+升降机标准节...

电脑设备器件 [1批]位置:广东省深圳市宝安区是否含税:不含税标的规格:批出险时间:2020-07-30 13:48:00受损原因:水湿深圳市益华市场受损程度:80%塔吊主吊臂 [1节]位置:广东省广州市番禺区是否含…

! [rejected]

git push -u origin master解决 git push -u -f origin master

laravel8找不到控制器_找一个“靠谱儿”的烟雾探测器方案,难不难?

安全,应该说是人们生活中最“硬核”的刚需。很多安全设备平日里几乎是“透明”的,大家感觉不到它们的存在,而一旦遇到事儿,它们却必须能够派上用场,颇有些“养兵千日,用兵一时”的味道。因此,如…

世界杯迄今最火的一场比赛 一文看懂世界杯背后的阿里云黑科技

摘要: 世界杯“法阿之战”中帕瓦尔世界波以及姆巴佩梅开二度一定让你印象深刻,而梅西的饮恨离开也让不少球迷碎了心。但你知道,比赛当天的阿里云藏着什么秘密吗?世界杯“法阿之战”中帕瓦尔世界波以及姆巴佩梅开二度一定让你印象深…

你在北边的西二旗被水淹没,我在东边的八通线不知所措

戳蓝字“CSDN云计算”关注我们哦!作者 | 朱小五and王小九责编 | 刘丹当代大城市年轻人,生活扇来的第一个巴掌就是——租房。而大部分年轻人在租房的第一年,要么付了大公司的服务费,要么交了黑中介的智商税。在积累了一定被坑的经验…

【免费公测中】为数据赋予超能力,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics

摘要: 近日,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics,Data Lake Analytics,帮助更多不具备分析能力的存储服务,赋予其分析的能力。近日,阿里云重磅推出Serverless数据分析引擎-Data Lake…

jq获取当前完整html,jquery怎样获取html的内容?

jquery怎样获取html的内容?下面本篇文章给大家介绍一下使用jquery获取html内容的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。jquery获取html元素内容的方法方法1:使用html()方法html()可以设置或返回所…

内部矩阵维度必须一致simulink_深度学习/目标检测之numpy——向量和矩阵乘法相关...

numpy中表示向量和矩阵乘法的有四种"*"、outer、dot、multiply。1、关于 "*" 的用法"*" 也为对于元素的乘积,但是 "*" 作为乘法运算时,必须满足 numpy 的 broadcasting(广播) 的原则 ,当两个矩阵相乘…

阿里云企业IPv6部署方案

摘要: 一、什么是IPv6。 IP version 6 (IPv6)是IP协议(Internet Protocol)的最新版本,设计作为IP version 4 (IPv4) [RFC791]的继任版本。一、什么是IPv6。IP version 6 (IPv6)是IP协议(Internet Protocol)…

区块链应用@纸贵科技:基于阿里云容器服务护航内容版权

摘要: 区块链如何护航内容版权?区块链已经成为业界内外家喻户晓的一门技术,很多企业已经开始尝试将区块链应用于不同场景。目前,开源的Hyperledger Fabric区块链技术与容器技术的应用组合已成为一种经典的区块链方案,纸…

xbox one s驱动_续航800公里 体验6座SUV理想ONE

在新能源汽车产品日益完善的今天,越来越多的优质车型走进了我们的生活。续航能力一直是消费者们最关注的一个问题,为了缓解里程焦虑问题,高续航产品逐渐成为纯电动汽车的新消费主力。今天我们要聊的,就是一款新能源汽车大军中的生…

html添加子节点方法,HTML DOM appendChild() 方法

HTML DOM appendChild() 方法appendChild()方法的作用是:在指定父节点的子节点列表的末尾添加一个节点。如果给定的子节点是文档中现有节点的引用,appendChild()将它从当前位置移动到新位置(参见下面的“更多示例”)。使用insertBefore()方法可在指定的现…