WINDOWS AZURE 概述

概述

      云计算已经到来。在可通过互联网访问的数据中心中的机器上运行应用程序和存储数据,具有很多优势。但是无论应用程序在何处运行,它们都是在某种类型的平台之上构建的。对于内部部署的应用程序,比如在组织数据中心内运行的应用程序,此平台通常包括操作系统、某种数据存储方式,可能还有其他内容。在云中运行的应用程序需要一种类似的基础。

      Windows Azure 的目标就是提供它。作为更大型的Windows Azure 平台的一部分,Windows Azure 是在云中运行应用程序和存储数据的基础。

无需为Microsoft 客户提供可在自己的计算机上自行安装和运行的软件,Windows Azure 如今是一项服务:客户使用它在归Microsoft 所有的可通过互联网访问的机器上运行应用程序和存储数据。这些应用程序可以向企业、使用者或同时向两者提供服务。下面是一些可构建于Windows Azure 之上的应用程序类型示例:

□      独立软件供应商(ISV)  可创建一种适用于企业用户的应用程序,一种通常称为软件即服务(SaaS) 的方法。Windows Azure  的设计在一定程度上支持Microsoft  自己的SaaS 应用程序,所以ISV 也可使用它作为各种面向企业的云软件的基础。

□ ISV 可以创建一个适用于使用者而不是企业的SaaS 应用程序。因为Windows Azure  旨在支持具有极高扩展能力的软件,所以计划进入大型消费市场的公司也可以选择它作为新应用程序的平台。

 □ 企业可以使用Windows   Azure  构建并运行供他们自己的员工使用的应用程序。尽管此情形可能不要求面向用户的应用程序有多大的规模,但Windows   Azure  提供的可靠性和可管理性仍然可使它成为一种富有吸引力的选择。

为了支持云应用程序和数据,Windows Azure 拥有5 个组成部分,如图:

这些组成部分是:

□ 计算:在云中运行应用程序。这些应用程序在很大程度上看到的是一种Windows Server 环境,
    但Windows Azure 编程模型与内部部署的Windows Server 模型不完全相同。

□ 存储:在云中存储二进制程序和结构化数据。

□ 结构控制器:部署、管理和监控应用程序。结构控制器还处理在整个平台中对系统软件的更新。

□ 内容传送网络(CDN):加速对Windows Azure 存储器中的二进制数据的全球访问,方法是在全
    球维护该数据的缓存副本。

□ 连接:允许在内部部署的计算机与Windows Azure 应用程序之间创建IP 级连接。

 

计算

Windows Azure 计算可运行许多不同类型的应用程序。但是,无论应用程序执行何种操作,它都必须实现为一个或多个角色。然后Windows Azure 通常会运行每个角色的多个实例,使用内置的负载平衡来将请求分散到它们之中。如图:

在目前的Windows Azure 版本中,开发人员可从3 种类型的角色中选择:

□ Web  角色,主要用于简化基于Web的应用程序的创建。每个Web  角色实例内预先配置了Internet 信息服务(IIS),所以使用ASP.NET、Windows   Communication   Foundation   (WCF) 或其他Web  技术创建应用程序非常简单。开发人员也可使用本机代码创建应用程序——无需使用.NET Framework。这意味着他们也可以安装并运行非Microsoft 技术,包括PHP 和Java。

□ 工作者角色,设计用于运行各种基于Windows  的不同代码。Web  角色和工作者角色之间最大的区别在于,工作者色内没有配置IIS,所以它们运行的代码不会由IIS 托管。例如,工作者角色可以运行一种模拟、执行视频处理,或者执行几乎任何其他操作。应用程序常常通过Web角色与用户交互,然后将任务转交给工作者角色进行处理。再次说明,开发人员可以自由使用.NET Framework 或在Windows 上运行的其他软件,包括非Microsoft 技术。

□ VM 角色,每个这样的角色运行一个用户提供的Windows Server 2008 R2 映像。此外,VM 角色有时对于将内部部署的Windows Server 应用程序迁移到Windows Azure 非常有用。

要将应用程序提交到Windows Azure,开发人员可使用Windows Azure  门户。除了应用程序,她还提交配置信息,告诉平台要运行每个角色的多少个实例。Windows Azure 结构控制器然后为每个实例创建一个虚拟机(VM),在该VM 中运行针对合适角色的代码。

 

存储

应用程序通过许多不同方式处理数据。相应地,Windows Azure 存储服务提供了多种选项。 如图给出了这些选择。

在Windows Azure 存储中存储数据的最简单方式是使用blob。blob 包含二进制数据,并且从图中可以看出,层次结构很简单:每个容器可包含一个或多个blob。blob 可以很大(达到1 TB), 也可以包含关联的元数据,比如关于JPEG 照片拍摄地点或MP3 文件的演唱者的信息。blob 还为Windows Azure 驱动器提供了底层存储,这种机制允Windows Azure 角色实例与持久存储交互,就像它是一个本地NTFS 文件系统一样。 blob 仅仅适用于一些情形,对于另一些情形来说它们太非结构化了。为了让应用程序以更加细粒 度的方式处理数据,Windows Azure 存储提供了表。不要被名称误导了:这些不是关系表。每个表包含的数据实际上存储在一组实体中,而实体包含属性。而且不使用SQL,应用程序可使用OData 定义的约定查询表的数据。此方法支持比标准关系数据库更有效地对存储进行扩展(通过将数据分散在多个机器上来进行扩展)。事实上,一个Windows Azure 表可包含数十亿个实体,存储着数TB 的数据。blob 和表都主要用于存储和访问数据。Windows Azure 存储中的第三个选项是队列,它拥有不同的用途。队列的一项主要功能是为Web 角色实例提供一种途径来异步地与工作者角色实例通信。

例如,用户可以通过Windows Azure Web 角色实现的一个Web 接口提交一个请求,以执行某种计算密集型的任务。收到此请求的Web 角色实例可向队列中写入一条消息,描述要完成的工作。 等待此队列的工作者角色实例然后可读取该消息并执行它指定的任务。任何结果可通过另一个队列返回或通过某种其他方式处理。

无论通过何种方式存储数据(blob、表或队列),保存在Windows Azure 存储中的所有信息都会复制3 次。这种重复实现了容错能力,因为丢失一个副本不会造成致命的影响。但是,系统提供了强大的一致性,所以立即读取它刚刚写入的数据的应用程序可以保证获得它写入的内容。
Windows Azure 还在同一个位置的另一个中心中保存了所有数据的一个备份副本。如果保存主要副本的数据中心不可用或被破坏,仍然可访问此备份。

Windows Azure 存储可供Windows Azure 应用程序、内部部署的应用程序,或者在一个托管平台或另一个云平台上运行的应用程序访问。在所有这些情形下,所有3 Windows Azure 存储样式使用REST 约定来标识和公开数据,这从图4 中可以看出。blob、表和队列都使用URI 命名并通过标准的HTTP 操作访问。.NET 客户端可使Windows Azure 提供的库来执行此操作,但不需要这么做,应用程序也可执行原始的HTTP 调用。 创建使用blob、表和队列的Windows Azure 应用序无疑很有用。依赖于关系存储的应用程序可使用SQL Azure,这是Windows Azure 平台的另一个组成部分。在Windows Azure 上(或在其他地方)运行的应用程序可使用此技术对云中的关系存储进行基于SQL 的熟悉的访问。


来源于作者David Chappell,WINDOWS AZURE 概述

作者:王迪(flute)

出处:http://www.cnblogs.com/flute-di/

转载时须注明本文的详细链接,否则作者将保留追究其法律责任。

posted @ 2011-10-20 14:41  flute  阅读(1038)  评论(0编辑  收藏  举报