戳蓝字“CSDN云计算”关注我们哦!


“云计算”这个词,相信大家都非常熟悉了。

作为IT行业的热门技术,它频繁出现在各大媒体的新闻报道中。BAT这样的互联网企业,也经常把它挂在嘴边。

相信很多人都想学习云计算,跟上技术潮流。如果对云计算有一定了解的话,应该会或多或少地听到这些名词——OpenStack、Hypervisor、KVM、Docker、K8S...

这些名词,全部都属于云计算的范畴。

对于自学的初学者来说,想要理解这些名词的具体含义,还有它们之间的关系,并不是一件容易的事情。

虽然互联网上有很多的资料,但是杂乱无章、晦涩难懂,对新人很不友好,容易让人晕头转向,甚至打退堂鼓。

所以,小枣君今天这篇文章,作为云计算的入门第一课,将给大家做一个通俗易懂的宏观介绍,重点解释最主要的几个名词,和它们之间的关系,希望对大家入门有所帮助。

什么是云计算

在介绍那些古怪名词之前,我先简单介绍一下云计算

以前电脑被发明的时候,还没有网络,每个电脑(PC),就是一个单机。

这台单机,包括CPU、内存、硬盘、显卡等硬件。用户在单机上,安装操作系统和应用软件,完成自己的工作。

后来,有了网络(Network),单机与单机之间,可以交换信息,协同工作。

再后来,单机性能越来越强,就有了服务器(Server)。人们发现,可以把一些服务器集中起来,放在机房里,然后让用户通过网络,去访问和使用机房里的计算机资源。

再再后来,小型网络变成了大型网络,就有了互联网(Internet)。小型机房变成了大型机房,就有了IDC(Internet Data Center,互联网数据中心)

当越来越多的计算机资源和应用服务(Application,例如看网页,下电影)被集中起来,就变成了——“云计算(Cloud Computing)”。无数的大型机房,就成了“云端”。

云计算

是不是觉得太简单?别急,开始深入。

云计算的道理是简单的,说白了,就是把计算机资源集中起来,放在网络上。但是,云计算的实现方式,就复杂了。

举个例子,如果你只是在公司小机房摆了一个服务器,开个FTP下载服务,然后用于几个同事之间的电影分享,当然是很简单的。

如果是“双11”的淘宝购物节,全球几十亿用户访问阿里巴巴的淘宝网站,单日几十PB(1PB=1024TB=1024×1024GB)的访问量,每秒几百GB的流量……这个,就不是几根网线几台服务器能解决的了。

需要设计一个超大容量、超高并发(同时访问)、超快速度、超强安全的云计算系统,才能满足业务平稳运行的要求。

这才是云计算的复杂之处。

刚才说了,我们把计算机资源,放在云端。这个计算机资源,实际上,分为好几种层次:

第一层次,是最底层的硬件资源,主要包括CPU(计算资源),硬盘(存储资源),还有网卡(网络资源)等。

第二层次,要高级一些,我不打算直接使用CPU、硬盘、网卡,我希望你把操作系统(例如Windows、Linux)装好,把数据库软件装好,我再来使用。

第三层次,更高级一些,你不但要装好操作系统这些基本的,还要把具体的应用软件装好,例如FTP服务端软件、在线视频服务端软件等,我可以直接使用服务。

这三种层次,就是大家经常听到的IaaSPaasSaaS

SaaS: Software-as-a-Service(软件即服务)

PaaS: Platform-as-a-Service(平台即服务)

IaaS: Infrastructure-as-a-Service(基础设施即服务)

再补一张图,可能更直观:

目前主流的云计算服务提供商,例如亚马逊AWS、阿里云、华为云,说白了,都是为大家提供以上三个层次的云资源。你想要什么,它们就提供什么。

继续,继续。

这么多样化多层次的云计算服务,阿里、华为们又是怎么提供的呢?

难道说,人工安排?——

如果你要八核CPU、16GB内存、500GB硬盘的服务器,阿里临时安排工程师帮你组装?如果你要装CentOS 7.2(一种类Linux操作系统),MySQL 5.5.60(一种数据库系统),阿里也临时让工程师帮你安装配置?

这显然是不可能的,耗不起人力,也等不起时间。

于是,就有了各种软件和平台,负责对资源进行调用和管理。

什么是虚拟化

如果要对物理资源进行管理,第一步,就是“虚拟化”

虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也叫虚拟机(VM,Virtual Machine)

从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。

物理机,通常称为“宿主机(Host)”。虚拟机,则称为“客户机(Guest)”。

谁来完成物理资源虚拟化的工作呢?

就是大名鼎鼎的 Hypervisor 

Hypervisor,汉译过来是“超级监督者”,也叫做VMM(Virtual Machine Monitor,虚拟机监视器)。它不是一款具体的软件,而是一类软件的统称。

Hypervisor分为两大类:

第一类,hypervisor直接运行在物理机之上。虚拟机运行在hypervisor之上。第二类,物理机上安装正常的操作系统(例如Linux或Windows),然后在正常操作系统上安装hypervisor,生成和管理虚拟机。

VMwareKVMXenVirtual Box,都属于Hypervisor。

VMware大家应该很熟悉,就是VMware Workstation。学习Linux的话,很多人都是在windows系统下安装WMware,然后创建Linux虚拟机。

但是,真正厉害的,是 KVM(kernel-based virtual machine,基于Linux内核的虚拟机)。它是目前最热门最受追捧的虚拟化方案。

KVM这样的Hypervisor软件,实际上是提供了一种虚拟化能力,模拟CPU的运行,更为底层。但是它的用户交互并不良好,不方便使用。

于是,为了更好地管理虚拟机,就需要OpenStack这样的云管理平台。

关于OpenStack,我之前曾经介绍过(链接)。它有点像个商店,负责管理商品(计算资源、存储资源、网络资源等),卖给用户,但它本身不制造商品(不具备虚拟化能力),它的商品,来自于KVM。当然,如果不用KVM,也可以用Xen等其它hypervisor。

OpenStack的管理界面,比命令行好多了吧?

请记住,上面所说的几个概念,包括VM、KVM、OpenStack等,都主要属于IaaS(基础设施即服务)。这个不难理解吧?

容器 VS 虚拟机

继续往下说。

那么,容器、Docker、K8S,又是什么呢?

根据前文所说的虚拟化方式,人们在使用一段时间后发现,它存在一些问题:

不同的用户,有时候只是希望运行各自的一些简单程序,跑一个小进程。为了不相互影响,就要建立虚拟机。如果建虚拟机,显然浪费就会有点大,而且操作也比较复杂,花费时间也会比较长。

而且,有的时候,想要迁移自己的服务程序,就要迁移整个虚拟机。显然,迁移过程也会很复杂。

有没有办法更灵活快速一些呢?

有,这就引入了“容器(Container)”

容器也是虚拟化,但是属于“轻量级”的虚拟化。它的目的和虚拟机一样,都是为了创造“隔离环境”。但是,它又和虚拟机有很大的不同——虚拟机是操作系统级别的资源隔离,而容器本质上是进程级的资源隔离。

而大家常听说的Docker,就是创建容器的工具,是应用容器引擎。

Docker的中文意思,就是码头工人。而它的LOGO,就是一只鲸鱼背着很多货柜箱。

相比于传统的虚拟机,Docker的优势很明显,它启动时间很快,是秒级,而且对资源的利用率很高(一台主机可以同时运行几千个Docker容器)。此外,它占的空间很小,虚拟机一般要几GB到几十GB,而容器只需要MB级甚至KB级。

除了Docker对容器进行创建之外,我们还需要一个工具,对容器进行编排。

这个工具,就是K8S

K8S,就是Kubernetes,中文意思是舵手或导航员。Kubernetes这个单词很长,所以大家把中间8个字母缩写成8,就成了K8S。

K8S是一个容器集群管理系统,主要职责是容器编排(Container Orchestration)——启动容器,自动化部署、扩展和管理容器应用,还有回收容器。

简单来说,K8S有点像容器的保姆。它负责管理容器在哪个机器上运行,监控容器是否存在问题,控制容器和外界的通信,等等。

通过下面这张K8S系统结构图,就能够看出K8S和容器之间的关系。

除了K8S之外,还有很多种容器管理平台,例如ComposeMarathonSwarmMesos等。

Docker和K8S,关注的不再是基础设施和物理资源,而是应用层,所以,就属于PaaS。明白了吧?

好啦,以上就是今天的内容。再说下去,估计很多人又要晕了。

正如文章开头所说,今天主要是介绍KVM、Hypervisor、OpenStack、Docker、K8S这些名词的意思,它们在云计算系统中的位置,以及它们之间的关系。云计算涉及到大量的需求。同一个需求,会有很多不同的技术来实现。同一个技术,往往又有多个不同的厂家互相竞争。所以,概念和名词就会特别多,发展变化也会很快。

不管怎么说,梳理清楚最关键的名词概念,是学好云计算的第一步。

文章转鲜枣课堂

1.微信群:

添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

2.征稿:

投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。

推荐阅读

  • 更新微信 7.0,你后悔了吗?

  • 何恺明等最新突破:视频识别快慢结合,取得人体动作AVA数据集最佳水平

  • ofo 遭千万人退押金

  • 20k~65k, 2018年最后一波热门技术岗位, 立刻投简历, 跳槽才是加薪的捷径

  • 可替代Android的6大开源移动操作系统

  • 程序员求助:被领导强行要求写Bug该怎么办?网友的回答让我笑翻

喜欢就点击“好看”吧!

云计算到底是怎么玩的?相关推荐

  1. 云计算:技术疲劳玩概念 伪云项目横行于世

    2010年,云计算概念漫天飞舞,层出不穷:2011年,云计算是否真的如愿,落地成雨.回归理性?笔者汇总整理了<IT时代周刊>第七届CEO年会上的精彩观点,以飨读者. 年会现场 赞同派-- ...

  2. h5 一镜到底_传说中的一镜到底效果,到底是怎么玩的?

    一镜到底这种高级技术其实已经存在多年了.相信许多人都了解影视行业的人都知道导演和摄影师都喜欢采用这种表现方式.一方面是为了增加画面的内容,烘托剧情.另一方面,则是导演在"旁敲侧击" ...

  3. 【云计算的1024种玩法】10分钟轻松设置出 A+ 评分的 HTTP/2 网站

    前言 其实 HTTP/2 应该是 2015 年的老话题了(2015 年 5 月 14 日 HTTP/2 协议正式版的发布),但是 2018 年都到了很多网站依旧没有使用,作为新一代互联网协议,HTTP ...

  4. 加速汽车行业转型,云计算到底扮演了什么角色?

    摘要:亚马逊云科技不做车,而是帮助车企加速数字化转型. "Mobileye几乎所有的自动驾驶仿真任务都跑在亚马逊云科技的Spot竞价实例上,高峰时调用的计算资源可以达到500KvCPU,低峰 ...

  5. 复古传世手游服务器维护,新出的《复古传世》手游到底应该怎么玩,这里有篇攻略供大侠参考...

    原标题:新出的<复古传世>手游到底应该怎么玩,这里有篇攻略供大侠参考 <复古传世>新手攻略 [职业选择技巧] 游戏下载看图片水印 传奇世界手游的职业选择推荐,那些还不知道如何选 ...

  6. 云计算到底算啥?李彦宏、马化腾PK马云

    一千个人眼里,有一千个云计算.作为一个热门词汇,"云计算"到底是什么,依然给人云里雾里的印象.在日前举办的IT领袖峰会(深圳)上,业界大佬围绕云计算的争议,成为峰会当天最大的&qu ...

  7. 华为云计算机玩游戏,华为云电脑到底能不能玩游戏?体验一下绝地求生游戏效果...

    华为云电脑到底能不能玩游戏?华为云电脑说白了其实就是一个整合了云桌面服务系统的APP应用.可以下载在手机和平板上使用.可以兼容windows系统生态下的所有应用软件,使用基本和Windows系统一样. ...

  8. 快速读懂云计算,云计算到底是什么?

    在这个时代,人人谈"云"论"大数据",作为一个IT小勤劳,在和同行聊天说地的时候,不谈及这方面的内容,有人可能会觉得你落伍了,跟不上这个时代了. 什么是云计算? ...

  9. 云计算机上能联机玩游戏不,华为云电脑到底能不能玩游戏?实践后告诉你:不仅能玩,还很流畅...

    2018 CES ASIA上海展已经进入了尾声,在此次展会上,华为重磅发布的华为云电脑黑科技让人记忆深刻.它能让手机秒变电脑,能实现随时随地移动办公,能让我们手机连接大屏玩各种吃鸡游戏时操作更精准.更 ...

最新文章

  1. 在Tomcat上跑东西时遇到的对我这样新手来说很难找到的问题
  2. 征战蓝桥 —— 2013年第四届 —— C/C++A组第7题——错误票据
  3. unityui等比例缩放_Unity 4.6-如何针对每种分辨率将GUI元素缩放到合适的大小
  4. scrapy如何指定生成python3的项目_如何把阿里图标库的图标生成代码并应用于自己的项目...
  5. java静态工厂方法模式_设计模式:简单工厂模式(静态工厂方法模式)
  6. ubuntu安装c/c++编译环境
  7. 数字游戏---巧妙解答
  8. arm-linux测网速工具,用Iperf工具测试网速和网络质量
  9. Turbo码 - 接近完美的编码
  10. 【工程/物理光学(一)——光的电磁理论基础】
  11. 3D打印在学生教育的有哪些应用?
  12. vs 2019怎么运行单个的cpp文件以及报错main已存在解决方法
  13. c语言对文本霍夫曼编码,C语言之霍夫曼编码学习
  14. 微信动态二维码管理引流源码/微信活码/自动换群/微信朋友圈加群二维码
  15. python操作excel遇到一系列问题
  16. 从0开发游戏引擎之引擎基础组件-Node类实现
  17. 触发器flip-flop
  18. 计算机网络学习通习题
  19. “十一”逃离京城的十五条自驾线路
  20. 解决Openresty + lua:lua tcp socket read timed out

热门文章

  1. 卡内基梅隆大学和斯坦福计算机,卡内基梅隆大学并列全美榜首的专业--计算机专业...
  2. mysql异常修复_MySQL错误修复:Table xx is marked as crashed and last (automatic?) repair failed...
  3. 颜宁:女性科学家如何更好的搞科研?
  4. 这篇 Linux 总结得很棒啊!
  5. 毕业典礼留学生代表发言:中国是我可亲可敬可爱的第二故乡,我已修炼出一颗中国心!...
  6. 如何对待基金评审负面意见?
  7. 平均每天呆实验室14小时,本科女生一作发表PNAS,直博北大!
  8. 标签分布学习相关研究
  9. 兰州交通大学计算机科学与技术学院,兰州交通大学计算机科学与技术
  10. SLF4JLoggerContext cannot be cast to LoggerContext