云计算时代下,作为全球的软件巨头微软一直想让Windows Azure成为云的代名词,就像Windows系统是个人电脑的代名词一样,并且全力让企业用户接受Azure。随着Windows Azure正式在中国落地,微软进一步整合“云+端”的能力,中国企业用户也将得到微软统一平台所带来的计算收益。
Windows Azure是由微软所发展的一套云计算操作系统,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的核心组成组件之一,以及微软在线服务策略的一部份。
据了解,Windows Azure是微软支持云计算应用和开发的统一平台,既面向企业级用户也能面向技术开发人员提供服务。在云时代条件下,Windows Azure提供了支撑云应用程序运行和数据存储的功能。
Windows Azure主要包含五个组成部分,以支持云应用程序和数据存储,它们分别为计算、存储、结构控制器、CDN和网络连接。
▲计算:Windows Azure的核心,负责处理和运行云环境下的各种应用程序。这些应用程序在某种程度上会将Windows Azure视作Windows Server环境,不过这两者本质上并不相同;
▲存储:负责存储云环境下二进制程序和结构化数据;
▲结构控制器:Windows Azure中的大脑,负责整个系统平台的软件更新,以及对对应用程序的部署、管理和监控;
▲内容传送网络:简称CDN,负责优化Windows Azure存储器中的数据以便全球访问;
▲网络连接:帮助实现Windows Azure应用程序与客户端之间的网络连接。
Windows Azure中的计算模块,可支持运行许多不同类型的应用程序。但是,无论应用程序执行何种操作,它都必须帮助实现一个或多个角色。Windows Azure使用内置的负载平衡对每个角色的多个实例进行实现。
包含Web角色实例、工作者角色实例和虚拟机角色实例的Windows Azure
目前,Windows Azure只支持开发人员创建和使用Web角色、工作者角色和虚拟机角色。Web角色主要用来简化基于Web应用程序的创建,每个Web角色实例内预先配置好了IIS服务,这对于熟悉ASP.NET、Windows Communication Foundation和其他Web技术的人员来说,可以实现快速上手。
相比之下,工作者角色没有IIS服务,在运行基于Windows的代码的时候不会有IIS托管。不过,它也和Web角色一样,也支持非微软技术软件来创建应用程序。而对于运行Windows Server 2008 R2映像的虚拟机角色来说,它可以提供将Windows Server应用程序迁移至Windows Azure。
用户通过HPPT、HTTPS和TCP等协议发出计算请求,能够在各角色的所有实例上实现负载平衡。开发人员可使用Web角色实例、工作者角色实例和VM角色实例的任何组合来创建Windows Azure应用程序。
存储
Windows Azure也提供了多种存储选择,包括blob、表和队列。blob包含二进制数据,是Windows Azure存储数据最简单的方式 ,它的层次结构较为简单,每个容器可以包含多个blob,而且每个blob还可以包含相关联的元数据(诸如照片的拍摄时间地点、机型等信息)。
Windows Azure存储提供blob、表和队列三种方式
Windows Azure还通过表实现更精细的数据处理方式,有助于实现比标准关系数据库更为有效的存储扩展。blob和表都主要用于存储和访问数据。相比之下,Windows Azure提供的队列选项则拥有不同的功能。
队列主要应用在Web角色实例与工作者角色实例的通信与协同,它用来帮助提交所有完成的工作请求,等待队列的工作者角色在读取消息并执行指定的任务后,可通过另外一个队列将处理结果进行返回。
结构控制器
如前所述,indows Azure结构控制器,负责整个系统平台的软件更新,以及对对应用程序的部署、管理和监控。该结构控制器 实质上是一个分布式应用程序平台,它掌握了环境中的计算机、交换机、负载平衡器等资源。它通过应用程序基于XML对角色实例数量的描述来确定配置信息。利用这些配置信息创建相应数量的虚拟机之后,结构控制器就可以实现对每个虚拟机的监控。
结构控制器通过结构代理与Windows Azure应用程序交互
在Windows Azure平台上,微软为开发人员提供了5种不同规模的虚拟机参照范例:
VM1——1.0GHz CPU、768MB内存和20GB存储;
VM2——1.6GHz CPU、1.75GB内存和225B存储;
VM3——1.6GHz CPU、3.5GB内存和490GB存储;
VM4——1.6GHz CPU、7GB内存和1000GB存储;
VM5——1.6GHz CPU、14GB内存和1TB存储。
内容传送网络
内容传送网络可以提供向全球Flash、Silverlight或HTML 5客户端改善视频服务性能的功能,它主要通过将blob副本存储在离客户端较近的站点上来实现。
Windows Azure CDN帮助用户更快访问内容
不过需要指出的是,访问特定内容的第一位用户并不能享受到CDN带来的优势,因为该blob还未缓存到该用户较近的站点位置。缓存副本可以提供视频加载速度,在未来视频内容更为丰富的应用中,将享有长足优势。
网络连接
负责内部部署环境与Windows Azure的网络连接至关重要。Windows Azure Connect通过在Windows Azure应用程序和Microsoft云外部运行的机器之间提供网络连接。
Windows Azure Connect支持内部部署与应用程序间建立通信
在使用,使用Windows Azure Connect之前,需要在Windows Azure应用程序的每个内部部署计算机上安装一个端点代理,然后经过正确配置后,代理就可以使用IPsec与该应用程序中的特定角色进行交互。
对于开发人员,构建Windows Azure应用程序类似于构建传统Windows应用程序,因为该平台同时支持.NET应用程序和使用非托管代码构建的应用程序。为了简化开发,Visual Studio为创建Windows Azure应用程序提供了模板,开发者可以直接将应用程 序从Visual Studio上传到Windows Azure。
由此,微软Windows Azure在整个架构中,扮演着底层和基础性的作用,可提供可扩展的存储、计算和网络的管理和服务。作为微软公有云提供的应用程序平台,Azure可以提供多种不同方式使用此平台和种类广泛的服务。