云平台应用:彰显微软云计算与应用优势
 

2010-07-30 作者:蒋建华 来源:it168

 

虚拟化是当前服务器与数据中心领域里最为热门的词汇,而且与前几年更多的停留在观望与评估层面不同的是,现在越来越多的企业已经将虚拟化用于实际的部署,虚拟化之势如火如荼。虚拟化允许具有不同操作系统的多个虚拟机在同一物理机上独立并行运行。每个虚拟机都有自己的一套虚拟硬件(例如 RAM、CPU、网卡等),可以在这些硬件中加载操作系统和应用程序。无论实际采用了什么物理硬件组件,操作系统都将它们视为一组一致、标准化的硬件。通过实现 IT 基础架构的虚拟化,可以降低 IT 成本,同时提高现有资产的效率、利用率和灵活性。

虚拟化的重要意义不仅与此,另一个重要的作用是和当前最热门的云计算技术相联系,虚拟化是云计算的基础。典型的云计算技术特征可分为虚拟化技术、分布式技术、并行计算/分布式计算、XaaS、WEB X.0和其他技术等。云计算的平台包括三类服务:软件基础实施即服务IaaS、平台即服务PaaS、软件即服务SaaS,而这三类服务的基础则是虚拟化平台,如图1所示:

 

  图1 虚拟化平台与云计算

在虚拟化与云计算共同构成的这样一个整体的架构中,虚拟化有效的分离了硬件与软件,而云计算则让人们将精力更加集中在软件所提供的服务上。这一点我们可以从Oracle和微软的云计算平台和解决方案上来说明。首先以Oracle的云平台和云管理为例,Oracle云平台和云管理架构如图2所示:

 

  图2 Oracle 云平台和云管理

在Oracle云平台和云管理中,虚拟化是服务器、存储和IaaS之间的桥梁,同时在云管理中提供虚拟化模板。虚拟化使软件运行于共享的硬件上、整合服务器、通过克隆测试和克隆生产环境简化开发和测试、通过克隆和实时迁移增加、减少或移动应用程序、将软件设备 (appliance) 和组合件 (assembly) 进行打包以方便部署。

动态云解决方案是微软提供的基于动态数据中心技术的云计算优化和管理方案。企业可以基于该方案快速构建面向内部使用的私有云平台,服务提供商也可以基于该方案在短时间内搭建云计算服务平台对外提供服务。微软动态云能够让用户自己动态管理数据中心的基础设施(包括服务器、网络和存储等),包括开通、配置和安装等。其核心价值在于,它可以帮助用户提高 IT 基础设施资源的利用效率,提升基础设施的应用和管理水平,实现计算资源的动态优化。微软动态云逻辑实现如图3所示:

 

  图3 微软动态云逻辑实现

由上图我们可以看出,虚拟化层是资源层和管理层之间的桥梁,服务层通过管理层和虚拟化层来使用资源层的资源,虚拟化层对用户来说是透明的,也是动态数据中心的基础核心层,可以说,没有虚拟化技术,想要实现动态数据中心几乎是不可能的,但是虚拟化不是云计算。

Microsoft Hyper-V虚拟化技术是Windows Server 2008 的一个关键组成部分。Hyper-V 提供了将服务器资源虚拟化并在 Windows 管理框架中管理这些资源的能力,对于其核心基础设施主要构建在 Windows Server 和其它 Microsoft 应用程序技术的客户而言,Hyper-V 是一个理想的选择。通过虚拟化,我们可以共享内存、硬盘、CPU等等硬件资源,下图描述了主机和虚拟机的架构,一个虚拟主机带有2个客户端应用的模型。

 

  图4 Hyper-V上的主机和虚拟机

上图中包括了以下组成部分:

(1)主分区,也叫父分区,专门用于运行宿主操作系统。在Hyper-V v1中,主分区是根分区,这样的分区在一个主机上只能有一个。

(2)宿主操作系统((Windows Server 2008 Core for Azure)是一个轻量级的操作系统,控制了服务器上硬件访问,并且对虚拟机提供了一种对外访问的机制。

(3)客户端分区又叫子分区,在主机上创建并被主机所拥有,用来运行客户端操作系统。

(4)客户端操作系统是应用程序和服务(如Windows Server 2008 企业版 with IIS 7, .NET Framework 3.5, 云计算其它工具)的服务器操作系统。

(5)企业或个人用户的云应用运行在客户端服务器上

(6)虚拟化堆(Virtualization Service Provider, VSP)是对外暴露的堆,这些堆能够对子分区提供资源和服务,如I/O

(7)虚拟化堆(( virtualization service client or consumer, VSC)是一个软件模型,此模型能够负载消费服务或资源。对I/O资源来说,企业或个人用户来说,VSC能够帮助用户设置硬件驱动。

(8)VM Bus 是一个共享内存式的I/O 总线,可以使VMs之间能够高性能的访问。

(9)NICs 是物理网卡接口

(10)CPUs 是物理CPU访问中心,具有一个或多个核心。

(11)Disk(s) 是主机或客户端的物理磁盘(磁盘分区)。

对IT和管理层来说,把云应用和服务仅仅部署在一个云计算平台上几乎是不可能的。这是因为企业或个人用户需求的多样性,这些云计算的需求从类型上说可能包括应用程序、数据、服务,PaaS平台、IaaS平台,从支持的语言环境上说可能是.Net、Java、PHP、Python等等。例如GAE支持的唯一语言是Python;AWS 支持Windows 2003,在将来可能支持Windows 2008。但是我们在没有hypervisor的情况下,不能模拟更多的实例来证实。The Azure hypervisor是仅针对微软产品来使用的,因此要将原本部署在微软云平台上的服务和应用迁移到AWS上面临着巨大的困难,这些困难不光是源代码和部署方法,更多的困难体现在数据迁移上。

下面描述了微软云平台虚拟化的3条基本原则:

(1)高效。在硬件环境允许的条件下,尽量运行更多的应用和服务。

(2)只应用需要使用的功能,对于不使用的应用和服务应该及时清除掉。这使得了我们对不需要的代码没有必要再去更新或者修复。对服务主机来说 ,意味着更少的服务启动。

(3)紧密集成。Windows Azure hypervisor同Windows Azure kernel紧密集成,这意味着我们的堆是可以度量和进行压力测试的。

由于Azure hypervisor是数据中心的标准版,因此只适用于微软数据中心。未来则是对Azure hypervisor性能的提升,如such as Second-Level Address Translation (SLAT)的应用。

总结

虚拟化提升了企业资源的利用率,同时也提升了IT的价值。云计算的资源是动态易扩展而且虚拟化的,通过互联网提供。终端用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制,只关注自己真正需要什么样的资源以及如何通过网络来得到相应的服务。微软提供了整套软件和解决方案,虚拟化可以使用Hyper-V,云计算可以使用Windows Azure Platform,并且和Windows系统有着天然的联系,这也是微软云计算与应用的一大优势。

 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号