微软云计算 --Windows Azure platform 电子工业出版社 刘鹏主编《云计算》教材配套课件7
主要内容 微软的“云”从哪里来? 微软云计算的应用场景 微软云平台体系架构 业务流程 关键技术
微软的“云”从哪里来? Paas 微软的商业模式建立在个人电脑(PC)时代 网络时代的威胁 “云+端”模式 & S+S(软件+服务)战略 为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序 云计算平台提供了可以通过Internet访问的基础设施,包括处理器器、存 储设施、服务等。用户和企业也可以将他们的应用程序和数据部署在微软 云计算平台上运行,而不用关心他们所使用的系统和设施的维护。另外, 用户和企业在开发运行在本地的的应用程序时,也可以在云中存储数据或 依赖其他的云计算基础设施服务。 Paas
微软云计算的应用场景 --云平台的优势 ·用自己的服务器 ·完全自己控制 ·稳定的性能 ·大量的前期投入 ·租用服务器 ·较少的控制权限 ·较少的灵活性 ·较少前期投入 ·共享基础设施 ·虚拟化,动态化 ·高稳定性,可用性 ·量入为出(Pay as you go)
微软云计算的应用场景 —— Live Mesh 文件备份 多PC文件同步功能 Live Mesh Remote Desktop,可以通过它控制电脑与其他网络设备。 功能强大的网络硬盘 一套具备云存储和云计算的免费的网络服务系统,颇具创意的云平台 Live Mesh 是一个“软件+服务”平台,将计算机和其他设备通过互联网整合到一起,允许个人和组织管理、访问和共享他们的文件和应用,无缝整合各种设备和互联网。Live Mesh 包括: § 平台 明确和构建用户的设备、数据、应用和人之间的数字关系 – 开发者将获得开放的数据模型和协议。 § 云服务 提供微软数据中心的平台。 § 软件 允许本地应用客户端离线进行云计算的交互。 § 平台体验 将用户设备、文件和应用,以及社会化图表通过 Feed 整合在一起,这是该平台最主要的优势。
微软云计算的应用场景 —— Live Mesh 出差在外非常需要远程登录办公桌面获得一些必需的数据 远程桌面触手可及
微软云计算的应用场景 ——企业实践 West Monroe利用Azure实现交互式地图 存在的挑战: 使用微软云平台: 每天50,000次的点击率 2周内部署到服务器上 使用微软云平台: 1.交互操作速度快 2.不断增多的信息的快速上传
微软云平台体系架构 该平台包含了四个部分: --最底层是微软全球基础服务系统——Global Foundation Services(GFS),由遍布全球的第四代数据中心构成 --GFS之上是一个云计算基础服务层(Fundamental Service) --在此之上的是一个构建服务平台(Building Block Service --再往上则是为客户提供的服务层(Finished Service) “蓝天”的底层是微软全球基础服务系统——Global Foundation Services(GFS),由遍布全球的第四代数据中心构成。几年前微软便开始筹建数据中心,因此目前正在部署的数据中心已“升级”到能效比表现更优异的第四代。值得一提的是,所有的微软数据中心都采用了清洁能源,并且在工作效率、可靠性、能耗等多元指标上达到了微软制定的严苛标准。 之上是一个云计算基础服务层(Fundamental Service),可以理解为“云端的操作系统”,主要从事虚拟化计算资源管理和智能化任务分配。主要从事虚拟化计算资源管理和智能化任务分配,当接到用户计算需求时,系统会确定最合理的资源处理、数据传输以及安全防护机制,并把运算任务分配给不同的CPU,把存储任务分配给全球不同的微软数据中心——用户不需要知道子程序和数据在哪里,只要知道自己想做什么就足够了。 在此之上的是一个构建服务平台(Building Block Service),这里提供了一系列的服务,如Live服务、.NET服务、SQL服务等,我们可以简单的把它们看成一系列的构建块,用来帮助我们建立云计算的应用或将你现有的业务拓展到云端。这是一个面向开发者的应用服务层,用来解决企业应用中所面临着的一系列技术难题,如服务之间怎么整合,不同应用中的访问控制与授权等。 再往上则是为客户提供的服务层(Finished Service),将一些运营比较成功的在线服务以服务的形式直接提供给最终用户,像Windows live、office live,Exchange Online等,同时通过提供统一的接口开放给开发者,与企业应用之间进行服务级的集成,以提供更好的客户体验。
业务流程 ——云端操作系统Windows Azure
业务流程 ——云端操作系统Windows Azure
业务流程 --云端服务
业务流程 ——SQL Service
业务流程 --.NET Service 把本地的服务与云平台整合 穿过防火墙和各种网络界限的安全数据 管理各种应用程序和服务的权限 已有用户跨应用程序使用 云端的workflow 提供Ruby和java版本的SDK
业务流程 --.NET Service
业务流程 --Live Services Live Framework
业务流程 -- Live Services
关键技术 --虚拟机制 目标:支持运行有大量并行用户的应用程序 运行机制:平台提供自己的windows虚拟机(不是用户提供虚拟镜像给平台运行) 角色(role) --部署到Windows Azure上的程序扮演着两种角色: ·Web Role:提供Web服务的角色。简单地说,Web Role就是 ASP.NET Application,是你本地ASP.NET Application的云端版本。支持 HTTP/HTTPS协议,还能提供WCF服务。 ·Worker Role:在后台运行的应用程序。它可以在后台访问任何网络 资源、数据源并进行操作。
关键技术 --虚拟机制 ·每个实例创建一个虚拟机。虚拟机运行64位的Windows Server2008,虚拟机与物理内核是一对一的关系 ·用户可以根据需求选择创建什么实例 ·每个实例创建一个虚拟机。虚拟机运行64位的Windows Server2008,虚拟机与物理内核是一对一的关系 ·每个虚拟机都有个agent,这个agent有一个简单的API,允许实例与fabric交互 · Web角色实例和worker角色实例可以自由的存取他们的VM本地文件系统,这个本地存储不是永久的,本地实例关闭时,VM和本地存储消失
关键技术 --存储机制 Windows Azure提供的简单存储 SQL Server提供的数据服务
关键技术 --存储机制 目标:可以让程序员存储他们想存储的任何数据,同时程序员可以在任何时候、从任何终端和任何地方获取任意大小的数据。 Windows Azure的存储由三个重要部分构成: Windows Azure Blob:提供了二进制的图片、视频,文件以及大 块数据的存储服务 Windows Azure Table:提供了结构化的存储 Windows Azure Queue:提供一个可靠的消息存储和消息服务。 有点类似Windows系统自身的消息队列。 Queue可以用来在应用程序各个部分如Web Role实例和Worker Role实例间进行通信 Blob和Table主要用来存储应用程序数据
关键技术 ——存储机制(Blob) ·Blob模型 云端的一个无限大的硬盘 使用REST的方式操作它
关键技术 —— 存储机制(Blob) 每个blob可以高达50GB REST接口 --PUT Blob:插入新的Blob或者替换给定的Blob,一次可上传64M,大于64M,分割重组,提供Block接口 --GET Blob:获取整个或者部分Blob http://<account>.blob.core.windows.net/<container>/<blobname> --DELETE Blob
关键技术 ——存储机制(Table) 直接将实体类、实体对象存入表格结构当中
关键技术 ——存储机制(Table) 分割table:分发entity将table扩展到存储节点上,并进行监视,动态调整。 Table操作:使用ADO.NET数据服务的API来完成 更新操作的乐观一致性 --获取实体到本地,同时获取版本号(HTTP ETag) --更新完毕向服务器保存,核对版本号,匹配则更新保存成功,新实体分配新ETag;不匹配,重新获取再操作
关键技术 —— 存储机制(Queue) 容错机制 2 1 C1 C2 3 4 Producers Consumers P2 P1
关键技术 ——存储机制(SQL服务) 类似SQL Server关系数据模型 ACE模型 --Authority—数据库 --Container—关系表 --Entity—记录或元组 ·http://<Authority>.data.database.windows.net/v1/<Container>/<Entity>
关键技术 ——存储机制(SQL服务) SDS explore 操作数据: HTTP VerbSDSOperration GET Fetch,Query POST Create(Insert) PUT Update DELETE Delete
SQL Data Services(SDS) 关键技术 --存储机制 使用 在当前的Azure版本中如果开发者对joins或foreign keys等关系数据库的功能需求较大,你可以选择SQL Data Services,反之建议使用开发更为快捷的Windows Azure Table。 Windows Azure Table 旨在提供轻便快捷低成本的大规模存储数据,包含实体和属性。它不是关系数据库,所以不能提供类似SQL中joins的方法,也不能管理 foreign keys SQL Data Services(SDS) 旨在提供严谨的关系数据方法,相当于将整个数据库管理系统布置在云端
关键技术 --管理机制 监视所有正在运行的应用程序 提供了容错机制 负载均衡
关键技术 --管理机制 专门的一组机器用于组织fabric 它能够与每个机器上的fabric agent通信,同时了解这个fabric上的所有应用。 作用:监视正在运行的应用,管理OS,决定新的应用程序在哪里运行,选择物理服务器来最优化利用硬件设施。
关键技术 --管理机制 Fabric运行过程 --依赖一个上传到云端的应用所带的配置文件,该文件用XML格式书写,描述应用所需。 --当接到一个新的应用,利用配置文件决定创建多少web角色实例,多少worker角色实例等等。 --根据配置文件调整 负载
关键技术 --管理机制 Fabric运行过程 --容错机制
开发过程 到官方网站http://azure.com去申请内测资格。 SDK: 开发: Windows Azure SDK Windows Azure Tools for Microsoft Visual Studio Microsoft .NET Services SDK Microsoft SQL Data Services SDK Live Framework Documentation and Resources 开发: 使用Visual Studio开发 - 开发中使用Azure的各种服务 - 发布- 登陆dev portal部署到“云”里
中国云计算网站 http://www.chinacloud.cn 本讲到此结束 欢迎访问 中国云计算网站 http://www.chinacloud.cn 欢迎使用 《云计算》教材 电子工业出版社 刘鹏 主编