虚拟化和云计算是一组新技术,这些技术目前都是业内的热点。虚拟化和云计算的出现为信息技术领域带来了新的机遇。

虚拟化

虚拟化( Virtualization)是对硬件资源的抽象。例如通过虚拟机监控器(Virtual Machine Monitor,VMM)在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例,不同的虚拟机中运行不同的应用程序,应用程序就像在物理机上运行一样;通过对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能被分隔成多个碎片页或段,甚至被交换到磁盘等外部存储器上,即使物理内存不足,应用程序也能顺利执行;通过虚拟出网卡、磁盘等资源,模拟硬件的执行。虚拟化实现了IT资源的逻辑抽象和统一表示,在大规模数据中心管理和解决方案交付方面发挥着巨大的作用,是支撑云计算伟大构想的最重要的技术基石。目前,虚虚拟化技术主要包括计算虚拟化、存储虚拟化、网络虚拟化等技术。

虚拟化技术的分类

虚拟化技术是一个非常广的概念,所以其具体内容可分成不同层面的几大类型。

  1. 平台虚拟化(Platform Virtualization):针对计算机和操作系统的虚拟化。我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。虚拟机中运行的操作系统称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。运行虚拟机的真实系统称为主机系统。

虚拟化和云计算联系 虚拟化和云计算(1)

平台虚拟化技术又可以细分为如下几个子类:

(1)全虚拟化

全虚拟化(Full Virtualization)是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其他系统软件完全不作任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。全虚拟化 VMM(Virtual Machine Monitor)以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。全虚拟化 VMM必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而客户机操作系统需要降级运行,从而不能执行特权操作。比较著名的全虚拟化VMM 有 Microsoft Virtual PC、Microsoft Virtual Hypervisor/VMware Workstation、SUN Virtual Box等。

(2)超虚拟化

超虚拟化(Paravirtualization)是一种修改客户机操作系统部分访问特权状态的代码以便直接与 VMM 交互的技术。在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机操作系统,这可以通过 Hypercall(VMM 提供给客户机操作系统的直接调用,与系统调用类似)的方式来提供。例如,客户机操作系统把切换页表的代码修改为调用 Hypercall 来直接完成修改影子 CR3 寄存器和翻译地址的工作。由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的 VMM 有 Denali、Xen。

虚拟化和云计算联系 虚拟化和云计算(2)

(3)硬件辅助虚拟化

硬件辅助虚拟化(Hardware-Assisted Virtualization)是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。例如有了 Intel-VT 技术的支持,客户机操作系统和 VMM 的执行环境自动地完全隔离开来,客户机操作系统有自己的“全套寄存器”,可以直接运行在最高级别。因此在上面的例子中,客户机操作系统能够执行修改页表的汇编指令。Intel-VT 和 AMD-V 是目前 x86 体系结构上可用的两种硬件辅助虚拟化技术。

虚拟化和云计算联系 虚拟化和云计算(3)

(4)部分虚拟化

部分虚拟化(Partial Virtualization)中,VMM 只模拟部分底层硬件,因此客户机操作系统不作修改是无法在虚拟机中运行的,其他程序可能也需要进行修改。(5)操作系统级虚拟化

传统操作系统中,所有用户的进程本质上是在同一个操作系统的实例中运行,因此内核或应用程序的缺陷可能影响到其他进程。操作系统级虚拟化(Operating System Level Virtualization)是一种在服务器操作系统中使用的轻量级的虚拟化技术,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,不同实例中的进程完全不了解对方的存在。操作系统级虚拟化最流行的叫法是:容器。目前最流行的容器是Docker等。

虚拟化和云计算联系 虚拟化和云计算(4)

2.资源虚拟化

资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。

虚拟化和云计算联系 虚拟化和云计算(5)

3.应用程序虚拟化

应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。

虽然上面对虚拟化的分类已较为精确,但这种分类并不是绝对的,一个优秀的虚拟化软件往往融合了多项技术。例如 VMware Workstation 是一个著名的全虚拟化的 VMM,但是它使用了一种被称为动态二进制翻译的技术把对特权状态的访问转换成对影子状态的操作,这与超虚拟化相似,只不过超虚拟化是静态地修改程序代码。对于超虚拟化而言,如果能利用硬件特性,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。

虚拟化的模式

虚拟化常用实现模式和技术有以下几种:

1.单一资源多个逻辑表示

这种模式是虚拟化最广泛使用的模式之一。它只包含一个物理资源,但是它向消费者呈现的逻辑表示却仿佛它包含多个资源一样。消费者与这个虚拟资源进行交互时就仿佛自己是唯一的消费者一样,而不会考虑他正在与其他消费者一起共享资源。

2.多个资源单一逻辑表示

这种模式包含了多个组合资源,以便将这些资源表示为提供单一接口的单个逻辑表示形式。在利用多个功能不太强大的资源来创建功能强大且丰富的虚拟资源时,这是一种非常有用的模式。存储虚拟化就是这种模式的一个例子。在服务器方面,集群技术可以提供这样的幻想:消费者只与一个系统(头节点)进行交互,而集群事实上可以包含很多的处理器或节点。实际上,这就是从 IT 技术设施的角度看到的网格可以实现的功能。

3.在多个资源之间提供单一逻辑表示

这种模式包括一个以多个可用资源之一的形式表示的虚拟资源。虚拟资源会根据指定的条件来选择一个物理资源实现,例如资源的利用、响应时间或邻近程度。尽管这种模式与上一种模式非常类似,但是它们之间有一些细微的差别。首先,每个物理资源都是一个完整的副本,它们不会在逻辑表示层上聚集在一起。其次,每个物理资源都可以提供逻辑表示所需要的所有功能,而不是像前一种模式那样只能提供部分功能。这种模式的一个常见例子是使用应用程序容器来均衡任务负载。在将请求或事务提交给应用程序或服务时,消费者并不关心到底是几个容器中执行的哪一个应用程序的副本为请求或事务提供服务。消费者只是希望请求或事务得到处理。

4.单个资源单一逻辑表示

这是用来表示单个资源的一种简单模式,就仿佛它是别的什么资源一样。启用 Web 的企业后台应用程序就是一个常见的例子。在这种情况下,我们不是修改后台的应用程序,而是创建一个前端来表示 Web 界面,它会映射到应用程序接口中。这种模式允许通过对后台应用程序进行最少的修改(或根本不加任何修改)来重用一些基本的功能。也可以根据无法修改的组件,使用相同的模式构建服务。

5.复合或分层虚拟

这种模式是前面介绍的一种或多种模式的组合,它使用物理资源来提供丰富的功能集。信息虚拟化是这种模式一个很好的例子。它提供了底层所需要的功能,这些功能用于管理对资源、包含有关如何处理和使用信息的元数据,以及对信息进行处理的操作的全局命名和引用。例如 Open Grid Services Architecture ( OGSA )或者 Grid Computing Components,实际上都是虚拟化的组合或虚拟化的不同层次。

云计算

云计算是新理念,目标是将计算和存储简化为像公共的水和电一样易用的资源,用户只要连上网络即可方便地使用,按量付费。云计算融合了以虚拟化、服务管理自动化和标准化为代表的大量革新技术,提供了灵活的计算能力和高效的海量数据分析方法,企业不需要构建自己专用的数据中心就可以在云平台上运行各种各样的业务系统。云计算借助虚拟化技术的伸缩性和灵活性,提高了资源利用率,简化了资源和服务的管理和维护;利用信息服务自动化技术,将资源封装为服务交付给用户,减少了数据中心的运营成本;利用标准化,方便了服务的开发和交付,缩短了客户服务的上线时间。

虚拟化和云计算联系 虚拟化和云计算(6)

云计算的特点

云计算是一项交叉学科技术,所以它有许多的特点:

(1)计算资源集成提高设备计算能力。云计算把大量计算资源集中到一个公共资源池中,通过租用的方式共享计算资源。提高了部分荒废的主机的运行率,从而提高了资源利用率。

(2)分布式数据中心保证系统容灾能力。分布式数据中心可将云端的用户信息备份到地理上相互隔离的数据库主机中,甚至用户自己也无法判断信息的确切备份地点。该特点不仅仅提供了数据恢复的依据,也使得网络病毒和网络黑客的攻击失去目的性而变成徒劳,大大提高系统的安全性和容灾能力。

(3)软硬件相互隔离减少设备依赖性。虚拟化层将云平台上方的应用软件和下方的基础设备隔离开来。技术设备的维护者无法看到设备中运行的具体应用。同时对软件层的用户而言基础设备层是透明的,用户只能看到虚拟化层中虚拟出来的各类设备。这种架构减少了设备依赖性,也为动态的资源配置提供可能。

(4)平台模块化设计体现高可扩展性。目前主流的云计算平台均根据 SPI 架构在各层集成功能各异的软硬件设备和中间件软件。大量中间件软件和设备提供针对该平台的通用接口,允许用户添加本层的扩展设备。部分云与云之间提供对应接口,允许用户在不同云之间进行数据迁移。类似功能更大程度上满足了用户需求,集成了计算资源,是未来云计算的发展方向之一。

(5)虚拟资源池为用户提供弹性服务。云平台管理软件将整合的计算资源根据应用访问的具体情况进行动态调整,包括增大或减少资源的要求。因此云计算对于在非恒定需求的应用,如对需求波动很大、阶段性需求等,具有非常好的应用效果。在云计算环境中,既可以对规律性需求通过事先预测事先分配,也可根据事先设定的规则进行实时公台调整。弹性的云服务可帮助用户在任意时间得到满足需求的计算资源。

(6)按需付费降低使用成本。作为云计算的代表按需提供服务、按需付费是目前各类云计算服务中不可或缺的一部分。对用户而言,云计算不但省去了基础设备的购置运维费用,而且能根据企业成长的需要不断扩展订购的服务,不断更换更加适合的服务,提高了资金的利用率。

虚拟化和云计算联系 虚拟化和云计算(7)

云计算的类型

云计算包括三种基本类型。

1.软件即服务(Software-as-a-Service,SaaS)是基于互联网提供软件服务的软件应用模式。SaaS 提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无须购买软硬件、建设机房、招聘 IT 人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,从 SaaS 提供商租赁软件服务。

虚拟化和云计算联系 虚拟化和云计算(8)

2.平台即服务

平台即服务(Platform-as-a-Service,PaaS)是把服务器平台或者开发环境作为一种服务提供的商业模式,如将软件研发的平台作为一种服务,以 SaaS 的模式提交给用户。因此,PaaS 也是 SaaS 模式的一种应用。但是,PaaS 的出现可以加快 SaaS 的发展,尤其是加快 SaaS 应用的开发速度。早在 2007 年,国内外 SaaS 厂商就先后推出了自己的 PaaS 平台。

PaaS 之所以能够推进 SaaS 的发展,主要在于它能够提供企业进行定制化研发的中间件平台,同时涵盖数据库和应用服务器等。PaaS 可以提高在 Web 平台上利用的资源数量。

虚拟化和云计算联系 虚拟化和云计算(9)

3.基础设施即服务

基础设施即服务(Infrastructure as a Service,IaaS)是指消费者通过 Internet 可以从完善的计算机基础设施获得服务。在这种服务模型中,用户不用自己构建一个数据中心等硬件设施,而是通过租用的方式,利用 Internet从IaaS服务提供商获得计算机基础设施服务,包括服务器、存储和网络等服务。

虚拟化和云计算联系 虚拟化和云计算(10)

云计算的应用

云计算目前已应用到各个领域,大多大型电子商务企业近几年也将云计算的布局作为自己战略目标中的一个方面。下面将谈一谈具体的应用场景。

1.云安全

云安全(Cloud Security)是一个从“云计算”演变而来的新名词。云安全的策略构想是:使用者越多,每个使用者就越安全,因为如此庞大的用户群,足以覆盖互联网的每个角落,只要某个新木马病毒出现,就会立刻被截获。

“云安全”通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到 Server 端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。

2.云存储

应用云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。

3.云呼叫

应用云呼叫中心是基于云计算技术而搭建的呼叫中心系统,企业无须购买任何软、硬件系统,只需具备人员、场地等基本条件,就可以快速拥有属于自己的呼叫中心,软硬件平台、通信资源、日常维护与服务由服务器商提供。具有建设周期短、投入少、风险低、部署灵活、系统容量伸缩性强、运营维护成本低等众多特点;无论是电话营销中心还是客户服务中心,企业只需按需租用服务,便可建立一套功能全面、稳定、可靠、座席可分布全国各地,全国呼叫接入的呼叫中心系统。

4.云会议

应用云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。它是视频会议与云计算的完美结合,带来了最便捷的远程会议体验。使用者只需通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议大多以 SaaS 模式为主体,其服务内容包括电话、网络、视频等形式。

评论

何为云?通俗一点讲:提供资源的网络称为云。

云计算融合了以虚拟化、服务管理自动化和标准化为代表的大量革新技术。云计算借助虚拟化技术的伸缩性和灵活性,提高了资源利用率,简化了资源和服务的管理和维护;利用信息服务自动化技术,将资源封装为服务交付给用户,减少了数据中心的运营成本;利用标准化,方便了服务的开发和交付,缩短了客户服务的上线时间。

,