近两年IT领域里没有任何一项技术能够像云计算(Cloud Computing)一样引起如此多的关注GoogleAmazonIBMHPDellSunIntelOracle和Microsoft等巨头们以前所未有的速度和规模推动云计算技术和产品作为传统软件领域巨头微软带来的Windows Azure Platform云计算技术有什么特别之处呢? 云计算究竟是什么?年月Google首次提出了云计算的概念但是直到现在云计算都没有一个统一的定义各大厂商甚至每个人对云计算的理解都可能不同不过笔者认为Forester Research(一家独立的技术和市场调研公司针对技术给业务和客户所带来的影响提供务实和具有前瞻性的建议)给出的定义更能概括厂商的目的云计算是一种标准化的IT能力将软件应用平台基础设施整合建立起一个系统通过Internet技术以按需和自助的方式提供服务 云计算是网格计算( Grid Computing)分布式计算(Distributed Computing)并行计算(Parallel Computing)效用计算( Utility Computing)网络存储(Network Storage Technologies)虚拟化(Virtualization)负载均衡(Load Balance)等计算机技术和网络技术相融合的产物它将所有的计算资源集中起来并由软件实现自动管理无需人为参与这使得企业组织机构和个人无需为计算能力和存储以及对这些资源的管理而烦恼能够更加专注于自己的业务流程有利于创新和降低成本云计算提供了可靠安全的数据存储中心用户不用再担心数据丢失病毒入侵等麻烦同时云计算对用户端的设备要求低电脑手机电视等终端均可接入此外云计算可以轻松实现不同设备间的数据与应用共享更重要的是云计算为我们使用网络提供了几乎无限多的可能因此云计算具有超大规模使用虚拟化技术高可靠性可扩展性通用性按需服务高性价比等特点 年月根据多方数据采集与分析将云产品划分为三大类云计算基础设施平台服务 微软的张亚勤曾经给出过一个云计算公式云计算=(数据软件+平台+基础设施)×服务此公式表明了云最重要的是服务基于云计算服务的三种模式微软云计算采用了软件+服务云+端的策略Windows Azure Platform正是这一策略的具体实现一方面提供了可靠的软件平台另一方面通过提供服务或者开放的系统运营企业服务那么Windows Azure Platform究竟是怎么一回事儿呢?下面我们就为大家介绍一下它的核心技术和实现原理 云计算的分类从部署方式来说云计算可以分为私有云公共云和混合云从提供服务的模式来说云计算可以分为基础设施作为服务IaaS(Infrastructure as a Service)平台作为服务PaaS(Platform as a Service)和软件作为服务SaaS(Software as a Service) Windows Azure PlatformWindows Azure Platform运行在微软数据中心的服务器和网络基础设施上通过公共互联网对外提供服务从其在微软整个产品线中的定位来看Windows Azure Platform无疑处于最顶端 Windows Azure Platform的产品定位 了解Windows Azure Platform在微软产品线中的定位有助于我们将云计算的产品和桌面服务器产品区分开来如Windows Azure AppFabric和Windows Server AppFabric就是不同的产品对Windows Azure Platform的进一步了解将从构成基础结构和特性这四个方面展开 构成微软云计算的三驾马车以三为要素的词语在汉语里常常意味着稳定有沖击力像我们常说的三足鼎立三剑客……Windows Azure Platform同样有三驾马车Windows AzureSQL AzureWindows Azure AppFabric(或者说Windows Azure Platform AppFabric以下简称AppFabric注意在一些文章中Windows Server AppFabric也简称为AppFabric而在本文中除非特别说明AppFabric都是指Windows Azure AppFabric)Windows Azure可看成是云计算服务的操作系统SQL Azure可看成云端的关系型数据库AppFabric则是一个基于Web的开放服务可以把现有应用和服务与云平台的连接和互操作变得更为简单 Windows Azure Platform的组成 Windows Azure是一个云服务的操作系统它提供了一个可扩展的开发托管服务和服务管理环境SQL Azure(之前被称为SQL Server Data Services)是以SQL Server 为主构建在Windows Azure之上运行云计算的关系数据库服务是一种云存储的实现并提供网络型的应用程序数据存储服务简单地说就是SQL Server的云端版本AppFabric作为中间件层起到连接非云端程序与云端程序的桥梁功能它让开发人员可以把精力放在他们的应用逻辑上而不是在部署和管理云服务的基础架构上 Windows Server AppFabric和Windows Azure AppFabric Windows Server AppFabric和Windows Azure AppFabric之间的关系类似于SQL Server和SQL Azure之间的关系即带Server的是服务器产品带Azure的是云端产品我们甚至可以把Windows Server AppFabric理解为一款主要面向私有云计算的系统 基础透明的虚拟化在介绍Windows Azure Platform的基础之前我们需要先了解一下微软云计算的参考架构从图中我们可以看到Windows Azure Platform是一个PaaS类和IaaS类的平台为什么说还是IaaS类平台呢?这是因为Windows Azure提供了存储管理功能SQL Azure提供了关系型数据的存储而Windows Azure AppFabric则是连接了Windows Azure和SQL Azure的中间件将安全连接作为一项服务提供帮助开发人员在云部署内部部署和托管部署之间架起桥梁这座桥梁提供了两种服务Service Bus(服务总线)和Access Control(访问控制) 微软云计算的参考架构 Windows Azure Platform的基础是虚拟化虚拟化架起了硬件资源(主机存储网络其它硬件)和基础服务之间的桥梁PaaS通过基础服务和虚拟化来使用资源层的资源虚拟化对用户来说是透明的同时虚拟化也是动态数据中心的基础核心层可以说没有虚拟化技术想要实现动态数据中心几乎是不可能的但是虚拟化不是云计算 Microsoft HyperV虚拟化技术 Microsoft HyperV虚拟化技术是Windows Server 的一个关键组成部分HyperV提供了将服务器资源虚拟化并在Windows管理框架中管理这些资源的能力对于核心基础设施主要构建在Windows Server 和其它Microsoft应用程序技术的用户而言HyperV是一个理想的选择通过虚拟化用户可以共享内存硬盘CPU等硬件资源 结构三驾马车细解析了解了Windows Azure Platform的构成和基础以后相信大家对微软云计算平台已经有了一个总体的认识接下来我们就要对Windows Azure Platform的三驾马车进行分解了 Windows Azure云计算服务的操作系统 Windows Azure主要包括三个部分一是运营应用的计算服务二是数据存储服务三是基于云平台进行管理和动态分配资源的控制器( Fabric Controller)Windows Azure提供了一个可扩展的开发托管服务和服务管理环境这其中包括提供基于虚拟机的计算服务和基于BlobsTablesQueuesDrives等的存储服务 Windows Azure的功能 Windows Azure是一个开放的平台支持微软和非微软的语言和环境开发人员在构建Windows Azure应用程序和服务时不仅可以使用熟悉的Microsoft Visual StudioEclipse等开发工具同时Windows Azure还支持各种流行的标准与协议包括SOAPRESTXML和HTTPS等 SQL Azure云中的数据库 SQL Azure是一个云的关系型数据库它可以在任何时间提供客户数据应用它基于SQL Server技术构建但并非简单地将SQL Server安装在微软的数据中心而是采用了更先进的架构设计由微软基于云进行托管提供的是可扩展多租户高可用的数据库服务 SQL Azure在架构上分为个层次 SQL Azure帮助用户简化多数据库的创建和部署开发人员无需安装设置数据库软件也不必为数据库打补丁或进行管理为用户提供了内置的高可用性和容错能力且无需客户进行实际管理支持TDS和TransactSQL(TSQL)客户可以使用现有技术在TSQL上进行开发也可以使用与现有的客户自有数据库软件相对应的关系型数据模型SQL Azure目前不完全支持SQL Server上的所有功能如分析服务镜像报表服务以及能够选择不同的服务提供者提供不同的服务这是因为当前的网络状况和云计算平台部署需求所决定的在将来肯定会提供更多功能例如Dallas AppFabric云的基础架构服务 AppFabric是基于Web的开放服务它可以把现有应用和服务与云平台的连接和互操作变得更为简单为本地应用和云中应用提供了分布式的基础架构服务在云计算中存储数据与运行应用都很重要但是我们还需要一个基于云的基础架构服务这个基础架构服务应该既可以被客户自有软件应用又能被云服务应用AppFabric就是这样一个基础架构服务AppFabric最常用的一个场景是Web Role和Worker Role之间的通信而AppFabric最强大的地方在于能够跨平台 Web Role和Worker Role Windows Azure提供了一个叫做Role的概念每个Role可以被认为是一段程序与普通的应用程序不同的是这段程序可以同时在一台或者多台机器上运行每个Role可以有多个实例(Instance)每个实例就对应一台虚拟机对同一个Role而言它所有的实例执行的程序都是相同的现在有两种类型的RoleWorker Role(工作者角色)和Web Role(Web角色)Web Role是一个Web应用程序它可以通过HTTP或HTTPS与外界通信一般来说Web角色响应请求执行一个动作然后等待下一个请求的到来Worker Role是一种后台执行(Running On Background)的应用程序运行Net框架代码的后台进程应用程序 特性综合性平台 Windows Azure Platform既是运营平台又是开发部署平台开发人员创建的应用既可以直接在该平台中运行也可以使用该云计算平台提供的服务平台上既可运行微软的自有应用也可以开发部署用户或ISV(Independent Software Vendors独立软件开发商)的个性化服务平台既可以作为SaaS等云服务的应用模式的基础也可以与微软线下的系列软件产品相互整合和支撑(如现在已经提供了在线服务的Office 这是微软云计算平台最具特色的一面和强大之处)由于平台的综合性在这个平台上既可以使用公有云也可以部署混合云甚至现在微软正在提供一些新的服务器级产品将来可以部署私有云 应用程序迁移容易 在云计算时代之前已经有了很多的基于Net平台下的C/SB/S应用系统这些应用系统尤其是B/S应用系统(Web应用程序)可以很容易地迁移到云中去对于Web应用程序的迁移可以分成两个部分来进行一部分是应用程序数据的迁移另一部分是应用程序的迁移应用程序数据的迁移我们可以使用SQL Server和SQL Azure迁移工具很容易地把原本存储在SQL Server上的数据迁移到SQL Azure上去即使数据存储在My SQL上也比较容易微软同样提供了工具先把My SQL上的数据库迁移到SQL Server上再从SQL Server上迁移到SQL Azure对应用程序的迁移就更容易了直接使用向导式的界面就可以迁移到Windows Azure上 开发人员的优势 对于开发者而言Windows Azure已经建立起一个简单而快速的系统最重要的是它拥有着标准的模型是我们步入云计算时代的捷径开发者可以根据自己的需要选择功能来使用比如数据库业务工具甚至是第三方软件提供的功能对Net平台下的开发者来说无需学习更多的专业知识和技能使用现有的技能工具和技术比如微软NET框架和Visual Studio 下载安装Windows Azure Tools for Visual Studio以后就可以体验云应用程序的开发了同时也为开发者提供了更灵活的开发平台和程序语言的选择与支持如提供了对PHPJavaRuby语言的SDK微软最近发布的Visual Studio 为Windows Azure提供了专门的项目模型我们可以利用Visual Studio 将我们创建的服务打包然后通过Windows Live Developer Portal部署到Windows Azure云计算平台上当然除了这些优势微软云计算平台也有自己的一些不足如价格问题微软云计算平台现在已经商用全都是收费的而且价格不低而Google云计算的平台则根据流量和容量来收费在一定流量和容量下是免费的 微软云计算的应用 微软的云计算应用既有针对消费者的服务也有针对企业的服务微软针对消费者提供了包括Windows LiveOffice LiveLive MessengerBing以及 Xbox Live等在内的多种服务上述服务用户都已在大量使用比如Live Meeting每年用户使用的在线会议时长达亿分钟Windows Live ID每天用户登录使用人数达亿人Exchange Hosted Services每天处理电子邮件信息~亿条等微软针对企业用户的服务为Microsoft Online Services这是一整套由微软托管运行的向用户提供订阅服务的企业沟通协作解决方案该企业级服务解决方案能够帮助各种经营规模的企业提高业务经营效率而无需企业自己维护管理复杂的IT基础架构针对企业的服务主要包括Exchange OnlineSharePoint OnlineOffice Communicator OnlineOffice Live MeetingDynamics CRM Online等 写在最后从年月微软发布Windows Azure Platform到现在将近年的时间里微软及其云计算平台开始慢慢发力加大投入目前在全球已经建立了个数据中心花费数十亿美元构建服务器集群开放资源为开发者提供更多支持Office Online开启网络办公快速部署降低总体拥有成本易于迁移按需服务及付费开发资源丰富等都是微软云计算平台的优点但是微软云计算平台也有不足在价格方面商用后所有应用和服务都不是免费的这对技术爱好者和试用者来说缺少了一些吸引力在云计算安全方面账户的控制权在云计算服务提供商手中自行托管和整合也面临着一些问题和挑战有优势有不足但是微软声称在云计算领域会全力以赴(all in)在将来Dallas平台会商用Dynamics CRM Services也会移植到云计算平台上不仅如此微软生产和销售的所有软件将会被重新写到Azure平台的云中运行这是一项浩大的工程更是微软转变商业模式迎接云时代做出的重大转变结果如何我们拭目以待! |