写点什么

微软更新云应用的高可用性指南

  • 2016-08-02
  • 本文字数:1342 字

    阅读完需:约 4 分钟

微软发布了在 Microsoft Azure 场景下实现高可用(HA)的检查列表,在这个更新版本的列表中包含了一个指南,可以指导如何设计和管理使用 VM、Web 站点以及存储的解决方案,以应对间歇性或持续性的高负荷。

通过这些指导规则,架构师和开发人员可以基于他们想要使用的资源编写检查列表。

概览:构建更加具有可扩展性应用的建议

微软在 Azure 中提供了很多的资源,这些资源可以组合为解决方案,但是这个 HA 检查列表主要针对的是虚拟机、Web 站点和数据库。

针对虚拟机,他们的建议如下:

  1. 使用 Traffic Manager 来处理跨多个 Azure region 的流量均衡。Azure 在全球有 26 个 region,在不久的将来还会增加 8 个。
  2. 每个角色使用多个 VM。
  3. 使用负载均衡器。Azure 的负载均衡器能够实现跨数据中心路由。因此,在给定的 region 中,它能够高效选择实际所使用的 VM。关于这些资产的差异,可以参考微软项目经理 Jonathan Tuliani 所撰写的文章
  4. 部署用于扩展的虚拟机集合,实现 VM 数量的自动增加或收缩,这会基于一些内部指标(如 VM 的处理器活动)或外部因素(如 Azure 存储队列的长度)来进行。

检查列表能够按照每个组成部分帮助我们理解在 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

2016-08-02 19:001826

评论

发布
暂无评论
发现更多内容

诚招译者 | Bruce Eckel On Java 8 中文版

图灵社区

Java

生产环境全链路压测建设历程之五 针对稳定性矛盾, 从目标、流程、组织体系发力

数列科技杨德华

滴滴开源小桔棱镜:一款专注移动端操作行为的利器

滴滴技术

开源 滴滴 移动端

案件数同比下降七成 北京引入“区块链”化解物业纠纷

CECBC

区块链 法律

架构师训练营第 1 期 - 第 11周 - 学习总结

wgl

极客大学架构师训练营

深入Linux内核架构——进程虚拟内存

赖猫

c++ Linux

cartographer环境建立以及建图测试(详细级)

良知犹存

cartographer slam

海量数据架构下如何保证Mycat的高可用?

冰河

分布式事务 分布式数据库 分布式存储 mycat 数据库集群

加密货币可能是人类历史上最大的/富国银行报告:加密货币投资像19世纪50年代的早期淘金热财富转移

CECBC

数字货币

TensorFlow2 Fashion-MNIST图像分类(一)

书豪

tensorflow 学习

LeetCode题解:515. 在每个树行中找最大值,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Redis Sentinel-深入浅出原理和实战

Linux服务器开发

redis 中间件 底层应用开发 web服务器 Linux服务器开发

天下武功,唯”拆“不破| 技术人应知的创新思维模型 (4)

Alan

思维模型 技术人应知的创新思维模型 MECE 组合创新 28天写作

架构师训练营W08作业

Geek_f06ede

甲方日常 66

句子

工作 随笔杂谈 日常

Gemini双子新约系统软件开发|Gemini双子新约APP开发

系统开发

揭开IP地址的神秘身份!!!

德胜网络-阳

修一座安全的广厦,庇护赛博世界的流浪者

脑极体

观点|发展区块链金融,长三角如何建设“四梁八柱”

CECBC

区块链

DolphinDB与Pandas对于大文本文件处理的性能对比

DolphinDB

数据库 pandas tsdb 数据库选择 DolphinDB

TensorFlow2 Fashion-MNIST图像分类(二)

书豪

CTO与COO联手接了公司的外包项目 | 法庭上的CTO(6)

赵新龙

CTO 法庭上的CTO

一道腾讯面试题目:没有listen,能否建立TCP连接

linux大本营

c++ Linux TCP 后台开发 TCP/IP

SDK开发质量保障经验总结

张明云

接口 程序设计 接口测试 sdk SDK测试

本文帮你在Unix下玩转C语言

MySQL从删库到跑路

unix C语言

合伙开公司、借款变工资 | 法庭上的CTO(7)

赵新龙

CTO 法庭上的CTO

架构词典:工程

lidaobing

架构 工程能力

http client 中的 connectionRequestTimeout, connectTimeout, socketTimeout

不在调上

docker与podman的故事:一个方兴未艾,一个异军突起

晓川

大促中为什么需要可视化监控大屏?

京东科技开发者

大数据 监控 数据可视化

架构师训练营第 1 期第12周作业

业哥

微软更新云应用的高可用性指南_DevOps & 平台工程_Irwin Williams_InfoQ精选文章