漫谈云计算与OpenStack的前世今生

启迪云Tuscloud 2018-12-11 17:51:14

如今,大家天天听到媒体说云计算、OpenStack,它们到底是什么呢?

云计算(Cloud Computing):一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。

也可以这样理解:云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing) 、网络存储(Network Storage Technologies)、虚拟化(Virtualization) 、负载均衡(Load Balanc)等传统计算机技术和网络技术发展融合的产物。

个人理解:把一堆功能小的设备,整合成一大个功能强大设备,再把这个强大的设备划分成小设备,然后按你的需要卖给你。

云计算类型:公用云(Public Cloud)、私有云(Private Cloud)、混合云(Hybrid Cloud)。

云计算解决方案:启迪云、VMware vSphere、微软云计算解决方案、亚马逊AWS、OpenStack等等。

云计算的服务形式

IaaS(Infrastructure-as-a- Service):基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。

PaaS(Platform-as-a- Service):平台即服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。

SaaS(Software-as-a- Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。

云计算的特点

云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。

好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。

云计算的特点:超大规模、虚拟化、高可靠性、通用性、高可扩展性、按需服务、极其廉价。

OpenStack

近几年,OpenStack这个词开始频繁出现,引起了越来越多人的关注。那么,什么又是OpenStack呢,它和云计算是什么关系呢?

我们先来说说OpenStack的起源。

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

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

后来,到了2006年,亚马逊又推出了弹性计算云(Elastic Compute Cloud),也称EC2 。同样是2006年,8月9日,Google首席执行官埃里克·施密特在搜索引擎大会上首次提出“云计算”(Cloud Computing)的概念。从此,云计算进入了高速发展阶段。

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

和他们一起开放源代码的,还有一个家伙,就是——美国国家航空航天局(NASA)。又是一个“不务正业”的家伙。NASA之前在云计算方面投入了大量的资金,但是后来发现这玩意好像是个无底洞,太烧钱了。而且,他们也似乎意识到这不是他们该干的事。所以,NASA和Rackspace一起,选择开放源代码。

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

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

OpenStack的版本

开源社区这帮搞技术的宅男腐女,不管年龄大小,内心仍然是一群孩子。他们平时在公司上班比较“木鸡”,在社区这种自由环境里是一个比一个“皮”。从哪可以看出来?就在“取名”上——他们竟然给每个版本都单独取了一个名字,而非商业软件一样按数字序号命名。

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

版本号的第一个字母,从A开始,然后B、C、D……每个名字都是从当次设计峰会所在城市中选一个地名,作为该版本的名字。例如,第一个版本Austin,就是根据Rackspace公司所在地(也是第一次峰会所在地)——美国德克萨斯州的首府“奥斯丁”确定的。还有第9个版本Icehouse,当时峰会是在香港举办的,用的“雪厂街”这个名字。

OpenStack的架构

前面说了,OpenStack从一开始,就是为了云计算服务的。简单来说,它就是一个操作系统,一套软件,一套IaaS软件。什么是IaaS?这个前面的云计算介绍过了,这里就不再讲了。

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

学习OpenStack,最痛苦的事情,莫过于看它的架构。OpenStack拥有众多的组件,通过组件之间协同进行工作,所以看上去架构非常复杂。

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

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

这些组件里,我挑几个再介绍一下:

计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。

身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。

网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。

块存储(Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。

对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。

镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。

UI 界面(Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。

部署编排(Orchestration):Heat。提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算、存储和网络资源)的自动化部署。

测量(Metering):Ceilometer。像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。

OpenStack的组件都有自己的功能定位。其实,每个组件都可以算是独立的一个程序(Software)。Open为开放之意,Stack则是堆砌,也就是许多Open的Softwares进行集合和堆砌。

OpenStack的发展

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

按官网最新数据,现在有180多个国家,677家企业,87426名社区会员通过各种方式支撑着这个项目。项目的代码也已经超过了2000万行。全球一半以上的500强企业,都采用了OpenStack技术。而且,根据调查,有75%以上的企业打算今后使用这项技术。

学习OpenStack

说了这么多,OpenStack这么牛掰,到底该如何学习它呢?它看上去那么复杂,会不会很难学会呢?其实,虽然前面看到的架构很复杂,但是真心要学习OpenStack的话,并没有想象得那么困难。因为OpenStack是开源的项目,所以互联网上相关的学习资料非常丰富。无论是官方文档还是非官方资料,都数不胜数。如何需要更多、更深入的了解,请持续关注启迪云。

不过,OpenStack入门虽然很容易,但是精通就很难了。需要长时间不断地钻研和积累,还需要进行大量的实践部署,才有可能成为专家。古话说:路漫漫其修远兮,吾将上下而求索。还是得脚踏实地啊!

漫谈云计算与OpenStack的前世今生相关推荐

  1. 漫谈云计算网络(一):云计算网络技术介绍

    声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载. 作者:张钦,云途腾高级云解决方案架构师,负责企业级云计算网络解决方案的架构设计及客户培训.曾就职于金山云和中国电信,任职售前解决方案架 ...

  2. 云计算与 OpenStack - 每天5分钟玩转 OpenStack(14)

    "云计算" 算是近年来最热的词了.现在 IT 行业见面不说这三个字您都不好意思跟人家打招呼. 对于云计算,学术界有各种定义,大家有兴趣可以百度一下. CloudMan 这里主要想从 ...

  3. 云计算:OpenStack、Docker、K8S(Kubernetes容器编排工具)的演进史 | 附推荐阅读

    目录 引子 OpenStack 的诞生 OpenStack 是什么 Docker 的出现 K8S(Kubernetes) - 为 Docker 而生 推荐阅读 引子 作为一名程序员,设计程序架构.优化 ...

  4. 云计算之OpenStack架构详解

    总体框架: OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公 ...

  5. 云计算之OpenStack基础

    云计算之OpenStack基础 一.OpenStack基础知识 二.虚拟化 2.1 虚拟化类型 2.1.1 Ⅰ型虚拟化 2.1.2 Ⅱ型虚拟化 2.1.3 比较 2.2 KVM(Ⅱ型虚拟化) 2.2. ...

  6. 漫谈云计算、虚拟化、容器化--云平台技术栈05

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的虚拟化! 什么是云计算? 1.1 云计算概念 云计算是最近几年才兴起的概念,但是这样的需求其实早都有了,现阶段广为接受的是美国国家 ...

  7. 云计算(Cloud Computing)的前世今生

    云计算的前世今生 第一章 云计算的历史 1 云计算的由来 1.1 历史 1.2 现状 1.3 定义 第二章 日常生活中的云计算 1 云计算已触达世界每个角落 2 云计算的优势 3 云计算颠覆未来 第三 ...

  8. 乐视云计算基于OpenStack的IaaS实践

    本文作者岳龙广,现在就职于乐视云计算有限公司,负责IaaS部门的工作. 从开始工作就混在开源世界里,在虚拟化方面做过CloudStack/Ovirt开发,现在是做以OpenStack为基础的乐视云平台 ...

  9. 云计算与openstack

    看书看的犯困,还是看看视频吧:云计算从入门到放弃--(全网最全)云计算与OpenStack_哔哩哔哩_bilibili 一.云计算 1.云计算的定义 2.云计算的基本特征   3.云计算的演变:   ...

最新文章

  1. 复旦大学张奇组:对话摘要数据不足?对话数据、文档摘要数据,我全都要!...
  2. 一线大厂在机器学习方向的面试题(一)
  3. 软工1816 · Alpha冲刺(9/10)
  4. oracle sql 表个数,【oracleSQL】查看当前用户各个表的记录数
  5. search by Belonging to my team测试 - with manager role
  6. DB2中ixf文件的导入导出
  7. idea提示“ cannot access xxxxxxxx.class“的解决方法,idea的bug
  8. k52zip shell band 流氓软件总是显示~
  9. PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解...
  10. 重拾Javascript(五)--优化字符串操作
  11. Java LocalDateTime
  12. 张一鸣念员工报告讽刺“互联网八股文” 网友:老板都看不惯了
  13. 铁路智能巡检机器人——铁路上的“医生”
  14. ysoserial exploit/JRMPListener原理剖析
  15. 通过将OC编译成C++ 一探究竟(边学编写,帮忙点评)
  16. 百度App Android启动性能优化-工具篇
  17. Ceph: ceph基础知识
  18. android 开红包动画,Android实现红包雨动画效果
  19. 【flutter】 集成HMS需要将证书文件打包到APK中,请直接将assets目录拷贝到应用工程根目录。
  20. 微信公众号上拉加载下拉刷新

热门文章

  1. python 链表操作 优化_python---单链表的常用操作
  2. 基于队列的迷宫求解实现
  3. Python找出列表的中只出现一次的元素
  4. 738. 单调递增的数字(JavaScript)
  5. 鸿蒙系统首批机型,华为鸿蒙系统支持的手机型号有哪些 首批公测机型有这些...
  6. python no module named pandas_【原创】大叔经验分享(11)python引入模块报错ImportError: No module named pandas numpy...
  7. python 列表为空报错_对比几段代码,看看你是 Python 菜鸟还是老鸟
  8. 计算机对医学影像学的作用,医学影像技术中数字图像处理的重要性
  9. springboot controller 分页查询_Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua
  10. mysql mvcc gap lock_为什么说 MVCC 和 Gap Lock 解决了 MySQL 的幻读问题