【Springboot】云计算、虚拟化和容器

 “云计算”这个词,相信大家都非常熟悉。
作为信息科技发展的主流趋势,它频繁地出现在我们的眼前。伴随它一起出现的,还有这些概念名词: OpenStack、Hyperisor、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服务端软件、在线视频服务端软件等,我可以直接使用服务。
这三种层次,就是大家经常听到的laaS、 Paas、SaaS
 

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

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

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

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

 目前主流的云计算服务提供商,例如亚马逊AWS、阿里云、华为云、天翼云、腾讯云,说白了,都是为大家提供以上三个层次的云资源。你想要什么,它们就提供什么。你想要多少,它们就提供多少。
这么多样化多层次的云计算服务,阿里、华为们又是怎么提供的呢?

难道说,是人工安排?
如果你要八核CPU、16GB内存、500GB硬盘的服务器,阿里临时安排工程师帮你组装?如果你要装CentoS 7.2(一种类Linux操作系统),MySaL5.5.60(—种数据库系统),阿里也临时让工程师帮你安装配置?
这显然是不可能的,耗不起人力,也等不起时间。

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

什么是虚拟化

如果要对物理资源进行管理,第一步,就是“虚拟化”。
虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台Y虚拟服务器"。这种虚拟服务器,也叫虚拟机(VM,VirtualMachine)。
从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。
 

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

谁来完成物理资源虚拟化的工作呢?
就是大名鼎鼎的 Hypervisor
Hypervisor,汉译过来是"超级监督者”,也叫做VMM (Vrtual Machine Montor,虚拟机监视器)。它不是一款具体的软件,而是一类软件的统称。

Hypervisor分为两大类:
第一类,hypervisor直接运行在物理机之上。虚拟机运行在hypervisor之上。

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

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

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

KVM这样的Hypervisor软件,实际上是提供了一种虚拟化能力,模拟CPU的运行,更为底层。但是它的用户交互并不良好,不方便使用。于是,为了更好地管理虚拟机,就需要OpenStack这样的云管理平台。

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

上面所说的几个概念,包括VM、KVM、OpenStack等,都主要属于laaS(基础设施即服务)。

什么是容器

那么,容器是什么呢?大佬们经常说的Docke和K8S,又是什么呢?
前面我们介绍了虚拟化。人们在使用虚拟化一段时间后,发现它存在一些问题:不同的用户,有时候只是希望运行各自的一些简单程序,跑一个小进程。为了不相互影响,就要建立虚拟机。如果建虚拟机,显然浪费就会有点大,而且操作也比较复杂,花费时间也会比较长。
而且,有的时候,想要迁移自己的服务程序,就要迁移整个虚拟机。显然,迁移过程也会很复杂。有没有办法更灵活快速—些呢?
有,这就引入了“容器(Container) ”
容器也是虚拟化,但是属于"轻量级""的虚拟化。它的目的和虚拟机一样,都是为了创造"隔离环境°。但是,它又和虚拟机有很大的不同——虚拟机是操作系统级别的资源隔离,而容器本质上是进程级的资源隔离。
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白鱼塘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值