GoGoDNS - Domain Name GoGoDNS - Website Builder GoGoDNS - Web Hosting GoGoDNS - Save 10% on $50 today!

Windows Azure



Windows Azure 是由微软所发展的一套云计算操作系统,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的内核组成组件之一,以及微软在线服务策略的一部份。

Windows Azure Platform 现阶段提供的是平台即服务 (PaaS),但未来可能会开放基础建设即服务 (IaaS) 的服务项目。

概览

Windows Azure 以及Azure服务平台,由微软首席软件架构师雷·奥兹在2008年10月27日在微软年度的专业开发人员大会中发表,并于在2010年2月正式开始商业运转 (General Availability) 。

微软为因应 Windows Azure 的营运需求,开始在全球主要地点建设数据中心,目前已正式营运的七个数据中心分别在:美国的芝加哥、圣安东尼奥及得克萨斯、爱尔兰的都柏林、荷兰阿姆斯特丹;新加坡及中国的香港。

目前已有21个国家可以使用 Windows Azure Platform 服务,预计2010年七月可以扩张到40个国家。

架构

Windows Azure 是专为在微软建设的数据中心管理所有服务器,网络以及存储资源所开发的一种特殊版本 Windows Server 操作系统,它具有针对数据中心架构的自我管理 (autonomous) 机能,可以自动监控划分在数据中心数个不同的分区 (微软将这些分区称为 Fault Domain) 的所有服务器与存储资源,自动更新补丁,自动运行虚拟机部署与镜像备份 (Snapshot Backup) 等能力,Windows Azure 被安装在数据中心的所有服务器中,并且定时和中控软件:Windows Azure Fabric Controller 进行沟通,接收指令以及回传运行状态数据等等,系统管理人员只要通过 Windows Azure Fabric Controller 就能够掌握所有服务器的运行状态,Fabric Controller 本身是融合了很多微软系统管理技术的总成,包含对虚拟机的管理 (System Center Virtual Machine Manager),对作业环境的管理 (System Center Operation Manager),以及对软件部署的管理 (System Center Configuration Manager) 等,在 Fabric Controller 中被发挥得淋漓尽致,如此才能够达成通过 Fabric Controller 来管理在数据中心中所有服务器的能力。

在 Fabric Controller 之上的,就是分布在数据中心服务器内的虚拟机 (Virtual Machine),每台虚拟机都安装 Windows Server 2008 (同时会视版本更替而更新),并且内含一个 Fabric Agent 中控软件,以回报目前虚拟机的各项信息给 Fabric Controller,同时让应用程序可以利用事件处理的方式来判断与针对目前 Fabric Agent 控制虚拟机的状态做回应与控制。而依照不同的虚拟机的等级,其运行的 Windows Server 2008 操作系统也不一样。

Windows Azure 环境除了各式不同的虚拟机外,它也为应用程序打造了分布式的巨量存储环境 (Distributed Mass Storage),也就是 Windows Azure Storage Services,应用程序可以根据不同的存储需求来选择要使用哪一种或哪几种存储的方式,以保存应用程序的数据,而微软也尽可能的提供应用程序的兼容性工具或接口,以降低应用程序移转到 Windows Azure 上的负担。

Windows Azure 不但是开发给外部的云应用程序使用的,它也作为微软许多云服务的基础平台,像 SQL Azure 或是 Dynamic CRM Online 这类的在线服务。

虚拟机平台与运行环境

Windows Azure 上所运行的虚拟机,被称为计算单元 (Compute Unit),以最基础的小型计算单元为基础,共分为四种类型,不同的类型有不同的硬件资源,操作系统与单价。以一个小型计算资源来说,它拥有 1.6GHz 的 CPU,1.75GB 的存储器,以及 225GB 的硬盘空间,同时它的 I/O 优先权为中级。而在它之上的有中型 (Medium),大型 (Large) 与超大型 (Extra Large) 三种,依 2 的倍数来强化虚拟机的可用资源。

目前在 Windows Azure 上,已经部署了四个版本的操作系统,分别是 1.0, 1.1, 1.2 与 1.3 版,在 Windows Azure 正式商转时的版本是 1.1 版,而在 .NET Framework 4.0 RC 发布时,Windows Azure 也曾部署一个内置 .NET Framework 4.0 RC 的版本,即为 1.2 版。微软在 Tech.Ed 2010 North America 宣布 1.3 版,这个版本装载了 .NET Framework 4.0 的 RTM 版本。部署在 Windows Azure 虚拟机上的操作系统,被称为 Windows Azure Guest OS,但其实是 Windows Server 2008 的虚拟化版本。

Windows Azure 上,目前可建置两种虚拟机作业环境:

  • Web Role: 在虚拟机上运行 Web 应用程序,目前可以运行在它上面的有 ASP.NET,PHP,Ruby 等 Web Application Framework (非 ASP.NET 的应用程序是使用 FastCGI 模块运行),基本上只要能够顺利挂载在本机 IIS 7.0 上的 Web 应用程序,都可以在 Web Role 中使用。
  • Worker Role: 在虚拟机上以周期方式运行特定指令,可将它视为 Windows Azure 上的 Windows Service 服务应用程序,它可以用来处理分散工作 (例如 Map-Reduce 型应用程序),或是挂载 WCF 服务。

不论是 Web 或是 Worker,都可以设置一个以上的运行个体 (instance),每个运行个体都是独立的虚拟机,Windows Azure Fabric Controller 中的 Load Balancer (平衡负载器) 会自动分配负载到不同的 instance 中。也因为如此,不论是运行在 Web Role 上的 Web 应用程序,或是运行在 Worker 的服务应用程序,都要考虑可能的跨物理 (cross instance) 以及不同物理通信 (inter-role or inter-instance communication) 的设计。

存储服务

Windows Azure 提供了三种不同格式的存储体服务,用来提供给 Windows Azure 上运行的应用程序存储数据使用。依据不同的存储格式会有不同的限制,因为这些存储服务都是以分布式巨量存储 (Distributed Mass Storage) 为内核概念所设计出来的,为了要达成快速在分布式存储空间中存储与管理数据 (还包含高可用度的赘余存储管理),微软有在数据的存储上做一些限制。

不论是哪一种存储服务,Windows Azure 都有显露 REST API,并符合 Simple Cloud 的标准。

服务管理

Windows Azure 基于云计算的特性以及开发工具的需要,在 Fabric Agent 上有显露 REST API 供外部应用程序调用,以自动化运行服务管理 (Service Management) 的功能。服务管理的项目包含了部署 (deployment),更新 (upgrade),编辑组态 (configuration changes) 以及环境切换 (virtual IP swap) 等功能,这些功能除了可以在 Windows Azure 在线管理工具外,Visual Studio Tools for Windows Azure 1.2 版也开始支持在开发工具中直接运行服务管理的能力,只要在 Windows Azure 在线管理工具中登录管理凭证 (management certification) 即可 (最多可登录五个)。

现阶段 Windows Azure 并没有提供自动化的 Scale-Out (向外扩张) 机制,但在 MSDN Code Center 中有提供针对服务自动化 Scale-Out 机制的示例程序让开发人员套用,以支持服务 Scale-Out 的机能。

应用程序开发支持

Windows Azure 在每个不同版本间都有发表 SDK 包以供开发人员开发可运行在 Windows Azure 运行的云应用程序 (Cloud Application),而微软重量级开发工具 Visual Studio 也通过外挂的 Visual Studio Tools for Windows Azure 让开发人员能利用 Visual Studio 的 Cloud Project 来自动化管理云应用程序部署所需要的 Service Definition 以及 Service Configuration 设置档,并可加入新项目或现有项目为云应用程序角色 (Web Role or Worker Role) 之一,并进一步设置存储连接设置,计算资源大小以及内部连接信息等等。

Windows Azure SDK 除了文件、工具和必要的支持库以外,还包含了在本机使用的 Windows Azure 模拟环境 (Emulations),称为 Development Fabric 以及 Development Storage。

  • Development Fabric 会模拟 Windows Azure 的 VM 环境以供开发人员在本机测试用,同时也可以让开发人员直接在本机上监看应用程序的诊断输出以及在状态变更时应用程序处理的行为等。
  • Development Storage 会利用本机上的 SQL Server 数据库来模拟 Windows Azure Storage 的各项服务。

针对非微软平台,微软通过像 Interoperability Bridge 提供针对 PHP, Ruby, Java, Perl 等非微软平台工具,以及 Eclipse IDE 的扩充能力,以支持 Windows Azure 开发的功能。

了解更多

Windows Azure 官方网站:http://www.microsoft.com/windowsazure/

Windows Azure 团队博客:http://blogs.msdn.com/windowsazure/

维基百科:http://zh.wikipedia.org/zh-cn/Windows_Azure

本文链接地址(Giga OS) - http://sancc.net/os/windows/windows-azure
如转载,请注明:“转载自 Giga OS - http://gigaos.com/”,并注明链接地址!