微软发布了在Microsoft Azure场景下实现高可用(HA)的 检查列表 ,在这个更新版本的列表中包含了一个指南,可以指导如何设计和管理使用VM、Web站点以及存储的解决方案,以应对间歇性或持续性的高负荷。
通过这些指导规则,架构师和开发人员可以基于他们想要使用的资源编写检查列表。
概览:构建更加具有可扩展性应用的建议
微软在Azure中提供了很多的资源,这些资源可以组合为解决方案,但是这个HA检查列表主要针对的是虚拟机、Web站点和数据库。
针对虚拟机,他们的建议如下:
检查列表能够按照每个组成部分帮助我们理解在Azure中,具备HA配置的VM应该是什么样子的。
对于通过Azure交付的Web站点,推荐开发人员使用Azure CDN并搭建缓存provider,如Redis缓存,至于运行在Azure生产环境中的数据库,则应该使用active geo-replication功能。
在这项公告中,Azure弹性的高级项目经理Adam Glick 这样说道 ,即便Azure已经提供了构建HA的方案,但依然有很多客户端并没有采用这些解决方案。微软指出,他们所提供的方案在使用时不会对应用程序的设计带来很大的变更。
这个检查列表不仅能够提供建议,按照给定的实践还可以减少一些风险。 按照IDC的数据 ,因为停机每年所造成的损失是12.5到25亿美元,这里的风险是非常现实的。它们包括:
HA检查列表是Azure针对这一领域所提供的众多资源之一。SQL Server在高可用性/灾难恢复方面有其自己的考量因素,参见 解决方案文档 。对于Azure Web应用,微软提供了 参考架构 。同时,为了实现IoT的HA,他们提供了弹性功能的 技术指导 以及 部署模型 。Glick在这份检查清单的公告中说道,尽管这些步骤在实现的时候,不应该让应用出现较大范围的重写,但是团队分享的模式以及实践团队提供的见解应该在开发之前就遵守。
高可用性是一个严肃的问题,违反服务等级协议可能会导致很严重的法律后果。Sears在2015年经历了两次系统不可用,这导致了2百万美元的利润损失并且 陷入和与相关公司的诉讼之中 。 Machine Zone是很流行的“Game of War”游戏的制造商,在经历了2015年十月的两小时宕机之后,它放弃了Peak Hosting这家供应商,这导致了该供应商 申请破产 。
除了检查列表以外,Azure和其他的云供应商还提供了部署云资源的模板,这些资源包含了预先构建好的HA配置。Azure提供了Azure资源管理器(Resource Manager) 模板 ,该模板体现了负载和集群策略。Amazon也提供了这个方面的 列表 。关于HA解决方案的更多内容,可以参考IBM自己的 部署模板 。
查看英文原文: Microsoft Updates High Availability Guidance for Cloud Apps