详解微软Windows Azure云计算平台
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.1 Windows Azure计算服务

Windows Azure的计算资源目前主要通过成为Web Role和Worker Role的方式来分配。为了便于理解,我们现在暂时可以认为Web Role和Worker Role是两种不同的虚拟机模板。其中Web Role是为了方便运行Web应用程序而设计的,因此其中已经配置好了IIS(Internet Information Service);而Worker Role是为了其他应用类型,比如批处理而设计的,而且它甚至可以运行一些完整的应用平台如Tomcat。一种比较常见的架构设计方式是使用Web Role来处理展示逻辑,而通过Worker Role来进行业务逻辑处理(如图1.7所示)。Web Role负责客户端的HTTP请求,为了支持应用的扩展,Web Role上的应用一般会设计为无状态的,从而使得系统可以方便地增加Web Role实例数量,提高应用的并发处理能力。

图1.7 计算服务架构概览图

当应用程序部署完后,Windows Azure Fabric控制器便开始监控应用的状态,以保证应用程序的正常运行。为了使控制器能够实时获取应用和运行实例的状态,所有Role实例,即虚拟机实例中都预先安装了代理程序,Fabric控制器就是通过这些代理来实时获取相应的状态信息的。当检测到实例故障时,Fabric控制器就会启动新的包含同样服务的实例并添加到服务组中。

除了上述Web Role和Worker Role之外,Windows Azure还提供了另外一种称为VM Role的计算服务,它可以让用户运行自己的基于VHD的虚拟机镜像。用户现在可以把自己构建的基于VHD格式的Windows Server虚拟机上载到Windows Azure存储,并可以通过远程桌面服务(RDS)方式连接。VM Role让用户对底层计算平台有更多的控制权,它使得Windows Azure提供了一些类似IaaS的服务。VM Role的主要目的是要让已有的Windows应用程序可以相对平滑地迁移到Windows Azure上。