如何使我的Windows Azure应用程序能够抵御Azure数据中心的灾难性事件?

sha*_*oth 1 cloud reliability azure

AFAIK亚马逊AWS提供所谓的"区域"和"可用区域",以降低部分或完全数据中心中断的风险.看起来如果我在两个"区域"中有我的应用程序的副本,并且一个"区域"关闭,我的应用程序仍然可以继续工作,好像什么也没发生.

Windows Azure有类似的东西吗?如何使用Windows Azure解决数据中心灾难性中断的风险?

Dav*_*gon 6

在单个数据中心内,Windows Azure应用程序具有以下优势:

  • 超出一个计算实例,您的VM分为不同物理区域的故障域.这样,即使整个服务器机架发生故障,您仍然可以在其他地方运行计算机.
  • 使用Windows Azure存储和SQL Azure,存储是三重复制的.这不是最终复制 - 当写入调用返回时,至少已写入一个副本.

好的,这很简单.如果数据中心消失怎么办?以下功能将帮助您在应用程序中构建DR:

  • 对于SQL Azure,您可以设置数据同步.此工具将SQL Azure数据库与另一个SQL Azure数据库(可能在另一个数据中心)或本地SQL Server数据库同步.更多信息在这里.由于此功能仍被视为预览功能,因此您必须到此处进行设置.
  • 对于Azure存储(表,blob),您需要处理到第二个数据中心的复制,因为现在没有内置工具.例如,这可以通过每小时提取数据并将其复制到其他位置的存储帐户的后台任务来完成.编辑:根据Ryan的回答,有blob和表格的数据地理复制.但是:除了在12月份的博客文章中提及,可能还有PDC,这不是现场.
  • 对于计算可用性,您可以将Traffic Manager设置为跨数据中心进行负载平衡.此功能目前在CTP中 - 访问Windows Azure门户的Beta区域进行注册.

请记住,对于DR,无论是在云端还是在本地,都会产生额外成本(例如数据中心之间的带宽,辅助数据中心中重复数据的存储成本以及其他数据中心中的Compute实例)..

就像内部部署环境一样,DR需要经过仔细考虑和实施.