看懂云计算、虚拟化和容器,这一篇就够啦!

2021-09-13

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


作为信息科技发展的主流趋势,它频繁地出现在我们的眼前。伴随它一起出现的,还有这些概念名词——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(基础设施即服务)。这个不难理解吧?




什么是容器



继续往下说。


那么,容器是什么呢?大佬们经常说的Docker和K8S,又是什么呢?


前面我们介绍了虚拟化。人们在使用虚拟化一段时间后,发现它存在一些问题:


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


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


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


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


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


虚拟化 VS 容器


而大家常听说的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这些名词的意思,它们在云计算系统中的位置,以及它们之间的关系。云计算涉及到大量的需求。同一个需求,会有很多不同的技术来实现。同一个技术,往往又有多个不同的厂家互相竞争。所以,概念和名词就会特别多,发展变化也会很快。


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


本文来源于:中国信通院CAICT 公众号



日前,《中共中央、国务院关于构建更加完善的要素市场化配置体制机制的意见》正式发布,明确将数据作为一种生产要素写入政策文件,培育发展数据要素市场,同时强调要加强数据安全保护,为构建以数据为关键要素的数字经济保驾护航。

2020年4月16日下午,在工业和信息化部网络安全管理局的指导下,中国信息通信研究院互联网新技术新业务安全评估中心召开线上专题会议,研究探讨新形势新背景下构建数据治理及其安全保护制度体系的思路和举措。

—— The End ——


相关阅读



====新基建====




====大数据专题====


国家



====云计算专题====




相关文章

低价好课:XEN与KVM云计算虚拟化技术

2021-09-13
今日【优质课程推荐】:XEN与KVM云计算虚拟化技术直接添加客服微信:wdym2013,低价获取网课资源! 更多超高性价比!更多...

云计算和虚拟化都要用到的核心技术 VXLAN 网络,你掌握了吗?

2021-09-13
云计算、虚拟化相关技术的发展,传统的网络无法满足于规模大、灵活性要求高的云数据中心的要求,于是便有了 overlay 网络的概念...

虚拟化、超融合与云计算的区别

2021-09-13
近几年,在水行业中,虚拟化、超融合、云计算是非常热门的话题,其中,超融合是云计算私有云的一种形式,虚拟化是云计算的基础...

虚拟化与云计算硬核技术内幕 (7) —— 花名与破冰

2021-09-13
在上期《虚拟化与云计算硬核技术内幕 (6) —— 妇女能顶半边天》中,我们理解了两个事实: 在新中国,妇女以在人民解放中的卓...

看懂云计算、虚拟化和容器,这一篇就够啦!

2021-09-13
就是“虚拟化”.虚拟化是云计算的基础.简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”.这种虚拟服务...

虚拟化与云计算硬核技术内幕 (4) —— 马克斯韦伯的启示

2021-09-13
需要为中层管理者付出一定的成本一样,在基于虚拟化的系统中,需要引入负载均衡器、虚拟机操作系统等管控组件,并消耗一定的资...

云计算之安装kvm虚拟化管理工具

2021-09-13
7.6的安装以及KVM虚拟化工具的安装.下期云计算板块为大家继续分享kvm虚拟机的virsh日常管理ntos 7.6的安装以及KVM虚拟化工具...

【必看】为什么云计算需要虚拟化?

2021-09-13
A:虚拟化是云计算的基础,基于虚拟化我们可以实现私有云、公有云、桌面云等.虚拟化是一种资源管理技术,是将计算机的各种实...

云计算的成功是靠虚拟化吗?

2021-09-13
虚拟化云计算成功的关键在于基础设施即服务(IaaS)的概念,以及它通过管理程序的API为虚拟机提供服务的能力.管理程序允许您...

虚拟化与云计算硬核技术内幕 (9) —— 学高为师身正为范的故事

2021-09-13
在上期《虚拟化与云计算硬核技术内幕 (8) —— “饭圈互撕的末路”》中,我们小结了,为了让虚拟机能够正常运作,除了需要让...

随机推荐

熊啸锋SEO系列:SEO是什么?从商业的角度谈谈SEO那些事

2021-06-02
因为你知道SEO是什么.那么想了解SEO是什么的人,只能是没接触过SEO,只是在某个地方听别人提到过SEO,或者是在网络上看...

又在GitHub上挖到个宝藏:Switch模拟器!

2021-04-28
Gtk准备好之后,将命令行指向Ryujinx-master的解压路径,执行命令dotnet build -c Release,等待自动执行完成,不慢,挺快的.然后...

【第1247期】使用圆锥渐变和CSS变量创建一个Range Input控制的环形图

2021-04-09
transparent; font: inherit}如果您需要了解滑动条及其组件在各种浏览器中的工作方式,请查看我的详细文章以了解 range input.现在我...

安卓编程入门 07 消息提示及文本变换

2021-03-29
安卓编程入门 07消息提示及文本变换用到的是Toast ,onClick和添加 id.一.ToastAndroid中的Toast是一种简易的消息提示框.当视图...

小米、华为或能互传文件,Android 版 AirDrop 要来了

2019-07-04
Android 用户更熟悉的是小米、OPPO、vivo 等厂商组成的互传联盟、三星旗下的快速分享功能.尽管它们同样也能做到快速传输文件...

Wuhan's Lowest Temp. is 3 ℃, the snow has visited Hubei Province

2017-11-30
Hello guys, I'm Sabrina, isn't today a freezing cold day with fresh gales? Hope you are doing good. Wuhan, different every day, we've ...

【国经国标】吸血鬼第三波 战栗的乐章把你吞噬

2017-07-10
程舒婷,纤细身段,澄澈双眸,薄衣如翼,舞步轻盈,却生生世世无法摆脱嗜血的命运,面对残酷的考验,选择一次次折磨自己,保全...

专业介绍篇 | 软件技术专业

2016-12-04
我们的专业 软件技术专业为我校信息工程学院精心打造的品牌专业之一.依托良好的师资力量、精良的教学条件和先进的教学模式,本专业不断发展壮大...行业发展前景 软件产业作为提高国家整体科技竞争能力的重要支撑,已经深度渗透到国民经济和社会发展的各行业、各领域...就业岗位 面向软件产品和信息技术服务领域,可在企事业单位和政府机关的信息技术部门...

Java视频教程从入门到精通(2020完整版)

2015-12-22
千锋Java教程紧跟热门互联网行业,采用企业项目实战,并设技能提升课,让学员保持长足的成长.Java视频教程:JavaEE初级Java...

阿里内部那个牛逼带闪电的Java诊断工具,终于可以下载了

2015-10-23
今天播妞给大家介绍的这一款开源工具,出自阿里巴巴,几乎每个Java开发都使用过的工具----Arthas,今年9月已开源,可以下载使用...