虚拟技术
虚拟化
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术
虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
虚拟化的类型
-
全虚拟化(Full Virtualization)
全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处理。全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机。
image.png
-
半虚拟化(Para Virtualization)
半虚拟化是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest操作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。半虚拟化需要guest操作系统做一些修改,使guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。
image.png
OpenStack、KVM、VMWare和Docker
IaaS、PaaS、SaaS
IaaS
IaaS被称为基础设施服务, 是云服务的最底层,主要提供一些基础资源。其包括处理CPU、内存、存储、网络和其它基本的计算资源。基于IaaS服务模式,可以提供给消费者的服务是对所有计算基础设施的利用,为不同用户提供虚拟化环境,提供了计算和存储功能,具备数据存储服务、同步服务、管理服务和备份服务等功能。IaaS的优势在于消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器,防火墙,负载均衡器等)的控制。在运作成本上,节约硬件何维护两方面的成本。
SaaS
SaaS服务帮助客户实现在各种各种设备上通过客户端进行界面访问,比如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等。SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。SaaS能为不同用户根据各自的需求提供软件,而且不需要对其进行维护,也提供软件的离线操作和本地数据存储。真正做到用户能随时随地使用定购的软件和服务。对于企业的技术研发,软件测试等方面是极为便利的。
PaaS
PaaS 提供软件部署平台,能为企业提供定制化研发的中间件平台,同时涵盖数据库和应用服务器等。例如做技术开发的企业,可以把为客户采用提供的开发语言何工具,例如当下基于java\php语言等开发的应用程序,部署到供应商的云计算基础设施上去,客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置。PaaS核心服务主要包括安全服务、目录服务、总线服务、工作流、身份认证和共享服务等内容。