虚拟化、云计算、容器、镜像、仓库、Docker、Iaas、Paas、Saas、Vmvare、Openstack、KVM的区别与联系

虚拟化、云计算、容器、镜像、仓库、Docker、Iaas、Paas、Saas、Vmvare、Openstack、KVM的区别与联系
  • 虚拟化:简单而言,假如我拥有一台12800GB硬盘、256g内存、128个CPU的电脑(也叫服务器),那么,我平时用的软件只需要200GB的存储空间,4g的内存,2个CPU就行,那么剩下的电脑资源就闲置了吗?这是后就用到了虚拟化,虚拟化就是将一台12800GB硬盘、256g内存、128个CPU的电脑通过一些手段,虚拟成64台200GB硬盘,4g的内存,2个CPU的独立的电脑,当然,虚拟出来的这些设备的内存、CPU、硬盘等参数可以根据需要设置成不同的值。这就是虚拟化。我平时的办公只需要这台12800GB硬盘、256g内存、128个CPU的超级电脑的64分之1,那么剩余的64分之63我可以租给其他有需要的用户。如阿里云的云服务器,就是把阿里的超级服务器根据你提交的请求(你付费的多少)划分出一小部分来满足你的需求。
  • 云计算:上述将一大块资源划分成许多小资源叫虚拟化,你付费购买小资源进行来实现你的目的(比如搭建网站,或者进行数据分析),叫做云计算,之所以是云计算,假如你购买了4g内存,500GB硬盘、2个CPU的云服务器(阿里云的产品名叫云服务器),你使用你购买的资源是通过网络(远程控制)来使用的,这个过程就叫做云计算。即你需要多少,你就购买多少。当你不需要时,就归还给阿里。这样你搭建网站时就不需要去买服务器等物理设备了,直接在云上搭建你的网站就行。是不是方便很多。最重要的是便宜,买一个物理服务器上万,而各大厂商的云服务器针对学生的优惠是9.9元/月,足够你搭建你的网站了。
  • 云计算与虚拟化的联系和区别:
    • 联系:云计算和虚拟化并非捆绑技术,但二者同时使用可以实现优势互补,在这个时代,云计算与虚拟化又是密切相关的,虚拟化是云计算必不可少的支撑技术之一,使用虚拟化技术可以使云计算基础设施的资源部署变得更加灵活。虚拟化也可以引入云计算的概念,为用户提供所需的资源和服务。
    • 区别:虚拟化是云计算构建资源池的一个主要方式。云计算只是一个概念,虚拟化是一种技术,云计算的实现必须以虚拟化做支撑。
  • Iaas-Paas-Saas-Daas:
  • Iaas:基础设施即服务,即将硬盘、内存、CPU、网卡等基础性的设施作为服务出售给购买者,如购买没装操作系统的裸机。Paas:平台即服务,这里指的是windows、linux等平台,即将装有操作系统、数据库以及中间件的Iaas出售给购买者。如你购买的惠普的暗影精灵笔记本。Saas:软件即服务,如网易邮箱,qq邮箱,不用安装,直接使用。Daas:数据即服务,即你有什么问题,直接请求结果,如你想知道程序员在30岁的平均工资,直接向Daas请求,由Daas服务商返回你请求的结果。
  • Docker:
  • Docker的核心概念有三:镜像、容器、仓库。人们经常说docker容器、容器只是docker的一个核心概念。Docker作为容器虚拟化技术的代表,在相同的硬件条件下可以运行更多的服务,并能更容易的打包和发布程序,花费的内存、CPU和硬盘的开销也相对较小,成本更低。Docker的出现,使开发人员能够快速部署基于容器的应用。Docker由两大部分组成:Docker和DockerHub。其中,Docker是开源的容器虚拟化平台;DockerHub则是分享并管理Docker容器的Docker Saas平台。
  • 镜像:Docker镜像类似于Java中的类。镜像是创建容器的基础,容器是镜像的一个实例。镜像是一个只读的文件,通过镜像创建一个容器实例时,Docker会在镜像的文件系统最上层创建一个可写层,但镜像本身保持不变。
  • 容器:Docker使用容器来运行和隔离应用,如容器1和容器2上的httpd服务是相互隔离,互不可见的。可以将每个容器看作一个轻量级的应用沙箱,由一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间)以及运行在其中的应用程序打包而成。由于Docker是基于linux内核的虚拟技术,所以消耗的资源非常少。
  • 仓库:Docker仓库是用来集中存放镜像文件的场所。注册服务器是存放Docker仓库的地方。而每个仓库又集中存放某一类镜像,通常包括多个镜像文件,使用不同的标签tag进行区分。
  • Docker与虚拟机的区别:
    • 传统虚拟机的客户机系统即为虚拟机安装的操作系统,是一个完整的操作系统,而Docker技术只使用系统的一部分功能;
    • 传统虚拟机的管理系统层可以理解为一个硬件虚拟化平台,如Vmvare 、Hyper-V等,在宿主机操作系统中以内核态的驱动形式存在;Docker技术则不需要管理系统层来实现硬件资源的虚拟化,因此Docker引擎取代了虚拟机的客户机系统层和管理系统层。
    • 传统虚拟机在启动时,需要加载客户机操作系统,而Docker直接使用宿主机的内核,而不是客户机系统的。
    • 以上使架构上的差异,在运行性能上的差异,Docker更小、更快、更安全。
  • Vmvare:是一款常用的虚拟化软件,常用的是Vmvare面向个人推出的版本Vmvare workstation。类似的还有Xen、Hyper-V、KVM等。
  • KVM:
  • KVM(Kernel-based Virtual Machine,即基于内核的虚拟机)是一种开源的虚拟化技术。即使用KVM技术创建的虚拟机是基于内核的虚拟机。内核不是操作系统,而是一个完整操作系统的核心部分。
  • Openstack:四大开源IaaS云平台之一,OpenStack整体架构分为三层:最上层为应用程序和管理界面层与API接入层;第二层为核心层,包括计算服务(Nova)、对象存储服务(Swift)、块存储服务(Cinder)和网络服务(Quantum);第三层为共享服务层,目前主要包括账户权限管理服务(KeyStone)和镜像服务(Glance)。目前各开源IaaS云平台中,总体而言OpenStack的设计最为优秀。

猜你喜欢

转载自blog.csdn.net/qq_38132105/article/details/106985698