还有多久 日语:微软云计算平台解决方案之核心技术-IT168 技术开发专区

来源:百度文库 编辑:九乡新闻网 时间:2024/05/06 09:01:50

微软云计算平台解决方案之核心技术

2011年05月23日00:05 it168网站原创 作者:Michelle 编辑:胡铭娅 评论:0条 本文Tag: 微软 云计算 sql azure windows azure

  【IT168 评论】话说IT大势合久必分,分久必合,IT浪潮汹涌澎湃,至今已有两个时代,第一个时代是PC时代,成就了Microsoft,第二个时代是互联网时代,成就了Google,第三个时代是什么呢?现在看来,极有可能是云计算的时代,这个时代又将成就谁呢? IT巨头们像Google、Amazon、IBM、HP、DELL、INTEL、ORACLE、EMC、 Microsoft正在群雄并起,以前所未有的速度和规模推动云计算技术和产品,以成就第三个IT时代的霸业。

  对微软来说,进入云计算的领域不是最早的一批,单是微软不乏后发制人的先例。在三大类云计算服务(基础设施作为服务IaaS(Infrastructure as a Service)、平台作为服务PaaS(Platform as a Service)和软件作为服务SaaS(Software as a Service))上,微软推出了Windows  Server Platform,同时也推出了Windows Azure Platform解决方案。本文中我们就来解读一下微软的windows Azure Platform解决方案的核心技术。

  Windows Azure Platform运行在微软数据中心的服务器和网络基础设施上,通过公共互联网对外提供服务,首先来了解一下它在微软整个产品线中定位,如图2所示:


▲图2 Windows Azure Platform产品定位[2]

  了解Windows Azure Platform在微软产品线中的定位,有助于我们将云计算的产品和桌面、服务器产品区分开来,如Windows Azure AppFabric和Windows Server AppFabric就是不同的产品。

  微软的张亚勤对云计算提出一个公式:

  云计算=(数据软件+平台+基础设施)×服务。

  此公式表明了云最重要的是服务,基于云计算服务的三种模式,微软云计算采用了“软件+服务”,“云+端”的策略。Windows Azure Platform正是这一策略的具体实现,一方面提供了可靠的软件平台;另一方面通过提供服务或者开放的系统运营企业服务。

  windows Azure Platform功能

  Windows Azure Platform有三驾马车:Windows Azure、SQL Azure、Windows Azure AppFabric(或者指Windows Azure Platform AppFabric,以下简称AppFabric,注意在一些文章中Windows Server AppFabric也简称为AppFabric,除非特别说明,本文中的AppFabric都是指Windows Azure AppFabric)。Windows Azure 可看成是云计算服务的操作系统;SQL Azure可看成云端的关系型数据库;AppFabric 是一个基于 Web 的开放服务,可以把现有应用和服务与云平台的连接和互操作变得更为简单,如图2所示:


▲3 Windows Azure platform组成 

  Windows Azure是一个云服务的操作系统,它提供了一个可扩展的开发、托管服务和服务管理环境。Windows Azure主要包括三个部分,一是运营应用的计算服务;二是数据存储服务;三是基于云平台进行管理和动态分配资源的控制器(Fabric Controller),如下图所示:


▲图 Windows Azure的功能

  Windows Azure提供了一个可扩展的开发、托管服务和服务管理环境,这其中包括提供基于虚拟机的计算服务和基于Blobs、Tables、Queues、Drives等的存储服务。Windows Azure是一个开放的平台,支持微软和非微软的语言和环境。开发人员在构建Windows Azure应用程序和服务时,不仅可以使用熟悉的Microsoft Visual Studio,Eclipse等开发工具,同时Windows Azure还支持各种流行的标准与协议,包括SOAP、REST、XML、和HTTPS等。

  SQL Azure帮助用户简化多数据库的创建和部署,开发人员无需安装、设置数据库软件,也不必为数据库打补丁或进行管理;为用户提供了内置的高可用性和容错能力,且无需客户进行实际管理;支持TDS和Transact- SQL(T- SQL),客户可以使用现有技术在T–SQL上进行开发,还可以使用与现有的客户自有数据库软件相对应的关系型数据模型。

  SQL Azure (之前被称为 SQL Server Data Services) 是由SQL Server 2008为主,建构在Windows Azure之上,运行云计算的关系数据库服务,是一种云存储的实现,并提供网络型的应用程序数据存储的服务,简单的说就是SQL Server的云端版本。

  SQL Azure是一个云的关系型数据库,它可以在任何时间提供客户数据应用,基于SQL Server技术构建,但并非简简单单将SQL Server安装在微软的数据中心,而是采用了更先进的架构设计,由微软基于云进行托管,提供的是可扩展、多租户、高可用的数据库服务。SQL Azure在架构上分成四个层次,如下图所示:


▲图SQL Azure的架构
 AppFabric作为中间件层,起到连接非云端程序与云端程序的桥梁的功能,它让开发人员可以把精力放在他们的应用逻辑上而不是在部署和管理云服务的基础架构上。AppFabric是基于Web的开放服务,它可以把现有应用和服务与云平台的连接和互操作变得更为简单,为本地应用和云中应用提供了分布式的基础架构服务。在云计算中存储数据与运行应用都很重要,但是我们还需要一个基于云的基础架构服务。这个基础架构服务应该既可以被客户自有软件应用,又能被云服务应用,AppFabric就是这样一个基础架构服务。

  这里需要说明的是Windows Server AppFabric和Windows Azure AppFabric是不同的,它们之间的关系类似于SQL Server和SQL Azure之间的关系,即带“Server”的是服务器产品,带Azure的是云端产品,我们甚至可以把Windows Azure AppFabric理解为一款主要面向私有云计算的系统。

  Windows Azure提供了一个叫做Role的概念,每个Role可以被认为是一段程序,与普通的应用程序不同的是这段程序可以同时在一台或者多台机器上运行。每个Role可以有多个实例(Instance),每个实例就对应一台虚拟机。对同一个Role而言,它所有的实例执行的程序都是相同的。现在有两种类型的Role:Worker Role(工作者角色)和Web Role(Web 角色)。

  Web Role:是一个 Web 应用程序,它可以通过HTTP或HTTPS与外界通信,一般来说,Web角色响应请求,执行一个动作,然后等待下一个请求的到来。

  Worker Role:是一种后台执行(Running On Background)的应用程序,运行.Net框架代码的后台进程应用程序。

  AppFabric最常用的一个场景是:Web Role和Worker Role之间的通信,不仅如此,AppFabric最强大的地方在于能够跨平台。

  Windows Azure Platform 基础

  在介绍Windows Azure Platform的基础之前,我们不得不先介绍一下微软云计算的参考架构,如图4所示:


▲图4 微软云计算参考架构

   由图1所示的云的分类和图4所示的微软云计算参考架构,我们可以看到Windows Azure Platform 是一个PaaS类和IaaS类的平台。有人认为Windows Azure Platform 只是一个PaaS类的平台,这里为什么说还是IaaS类平台呢?因为Windows Azure提供了存储、管理功能,SQL Azure提供了关系型数据的存储,而Windows Azure AppFabric则是连接了Windows Azure和SQL Azure的中间件,将安全连接作为一项服务提供,帮助开发人员在云部署、内部部署和托管部署之间架起桥梁,这座桥梁提供了两种服务:Service Bus(服务总线)和Access Control(访问控制),因此Windows Azure Platform 是一个PaaS类和IaaS类的平台。

  Windows Azure Platform的基础是虚拟化,虚拟化架起了硬件资源(主机、存储、网络、其它硬件)和基础服务之间的桥梁,PaaS通过基础服务和虚拟化来使用资源层的资源,虚拟化对用户来说是透明的,同时虚拟化也是动态数据中心的基础核心层,可以说,没有虚拟化技术,想要实现动态数据中心几乎是不可能的,但是虚拟化不是云计算。

  总结

  Gartner资深分析师Tom Bittman 说:“每个云服务都将有不同的未来发展路线图--一些云服务应与业务更紧密地整合、定制化和多样化为重点。而另外一些应侧重在独立、简单接口、标准化和非定制化上。” 微软在发布Windows Azure Platform两年半以后,基于此平台已经开始向这方面去发展了,虽然现在应用不多,众多厂商落地云困难重重,但是这个平台从技术上已经提供了一个未来落地云的可能,这是值得欣喜和期望的。在接下来的一篇文章中接着给大家解析Windows Azure Platform解决方案。