Windows Azure地缘组 (Affinity Group)

1. Affinity Groups 概述

我们知道,Windows Azure目前在全球有八大数据中心(美国西部,美国东部,美国中北部,美国中南部,北欧,西欧,东亚,南亚)。正在建设的还有中国南北两个数据中心。每个数据中心都由若干个"容器"组成,"容器"的内部是集群(cluster)和机架(rack)。每一个容器都有特定的服务,比如计算和存储,SQL Database和服务总线(Service Bus),访问控制服务(Access Control Service)等等。这些"容器"遍布在Windows Azure数据中心,每一次我们创建/更新云服务的时候,Fabric Controller可以将我们的解决方案部署到整个数据中心上。

 

考虑下面这种典型的应用场景。我们的应用部署在Windows Azure上,利用云服务(Cloud Service)中的Web Role来管理前台Web应用,同时利用SQL Azure来管理后台数据。如下图:

Windows Azure地缘组 (Affinity Group)_第1张图片

这里,如果我们把Cloud Service中的Web Role部署到美国的数据中心(例如: West US),而将SQL Azure部署到东亚的数据中心(East Asia)。那么这个应用可能会遇到这样的问题 - 服务响应慢。因为运算在美国,而数据在东亚。两个数据中心之间彼此交互会产生网络延迟。另外,在不同数据中心之间传输数据,也会产生额外的费用。我们能想到的解决方法是将Web Role和SQL Azure放在同一个数据中心。

 

但是,即便选择了同一个数据中心,也可能存在这样的问题:我们的云服务Web Role和SQL Azure被部署在同一数据中心相距很远的两个物理节点上,它们之间的通讯仍然存在延时。最好的情况是,我们将云服务和存储账户放在同一个集群/机架上,这样可以让网络延时最小。如何实现这一功能呢?你可以使用Windows Azure Affinity Groups。

 

Affinity Groups是告诉Windows Azure Fabric Controller,Compute(计算)和Storage(存储)应该在物理位置上非常接近,并且放在一起。这样Fabric Controller就可以在Container里搜索,让两者放在同一个集群(Cluster)上,使他们尽可能接近,并且减少延时,提高了性能。

 

2. Affinity Group的功能和好处

总的来说,Affinity Groups可以提供以下功能:

- 聚集:因为Affinity Groups可以聚集我们的Compute和Storage。让Fabric Controller将两者放在同一个数据中心比较接近的位置上,甚至是同一集群上。

- 减少延时:因为放在比较接近的位置上,当计算节点需要访问存储的时候,就可以得到更好的延迟,提高了性能。

- 降低成本:因为我们使用了Affinity Groups,就会避免随意选择数据中心部署的情况。而且因为部署的Compute和Storage都在同一数据中心,就无需为跨DataCenter产生的流量付额外的费用了。

 

基于以上三个原因,我们要记得在刚开始使用Windows Azure,就使用Affinity Groups。因为一旦我们在没有采用Affinity Groups,部署完托管服务和存储账户之后,回过头来再想重新使用Affinity Groups就不可能了。

3. 例子

这里我用一个例子来说明如何将计算和存储部署到一个Affinity Group里。下面是这个例子的架构图:

Windows Azure地缘组 (Affinity Group)_第2张图片

经过下面的步骤,我们将把例子中的Tomcat应用和MySQL数据库部署到同一个Affinity Group中。

第一步:创建Affinity Group

登陆Windows Azure管理平台(http://manage.windowsazure.com)。在左边的导航栏中选择“设置”,然后点击上面的“地缘组”,在下方的功能栏点击“添加”。

Windows Azure地缘组 (Affinity Group)_第3张图片

第二步:在地缘组中创建云服务

在云服务中,点击“创建”。在云服务创建的首页上,“区域或地缘组”中选择第一步中创建的Affinity Group。

Windows Azure地缘组 (Affinity Group)_第4张图片

第三步:将安装MySQL的虚机创建在已设定的地缘组中。

在创建虚机的第三步,选择已设定的地缘组。

Windows Azure地缘组 (Affinity Group)_第5张图片

完成!

 

你可能感兴趣的:(windows,Web,group,云服务,azure,Affinity)