如何确保应用程序在公共云中的可用性

采用云计算的注意事项是一种很好的建议。云计算服务提供商(CSP)都会承诺在其基础设施中提供“高可用性”,其服务水平协议(SLA)通常提供95%至99.99%的正常运行时间,而每月服务费退款率将达到10%到50%不等。但通常没有达到这样的门槛,正如IT的许多方面一样,重要的在于细节。

而采用正确的方法,在Amazon Web Services、谷歌云平台和微软Azure公共云和混合云环境中可以实现5个9的高可用性(HA)。这需要了解服务等级协议(SLA)中的限制,以及创建高可用配置的选项。

高可用性限制

大多数云计算服务提供商都提供具有99.99%正常运行时间保证的服务等级协议(SLA),而跨越云计算服务提供商(CSP)区域和/或区域的冗余配置增加了企业获得满意可用性的信心。但是这种安排存在一些严重问题,因为服务等级协议(SLA)中“停机时间”和“不可用”是导致应用程序失败的原因。

不计入停机的潜在原因包括客户的软件,任何第三方软件或技术,计划的硬件和软件维护,以及个别实例或卷的某些问题,这些问题不能归因于某些不可用的情况。还排除了错误的输入或指令,或在需要时缺乏行动,这似乎涵盖了“人为错误”可能的原因。

云计算服务提供商(CSP)排除某些失败原因是合理的,但系统管理员将这些作为借口是不负责任的。这使得有必要通过其他方式确保应用程序的更高可用性。

实现更高可靠性的选项

通常,有三种基本选项可用于提高云计算的可用性:应用程序软件中的规定,操作系统中内置的功能,以及专用的故障转移集群。

许多应用程序提供自己的高可用性(HA)规定。一个很好的例子是Microsoft SQL Server企业版中的运营商级在可用性组上始终使用的功能。这种方法的问题在于需要针对不同的应用程序提供不同的高可用性(HA)规定,这使得持续管理成为一项持续且成本高昂的工作。

第二个选项涉及使用集成到操作系统中的高可用性(HA)功能。 Windows Server具有故障转移集群的本机功能,但其缺乏数据复制功能。私有云中的复制通常通过某种形式的共享存储提供,例如存储区域网络(SAN)。但是,在公共云中,共享存储不可用,因此需要单独的数据复制解决方案。

在Linux操作系统上,由于缺少像故障转移集群这样的本机功能,因此需要单独的高可用性(HA)规定。因此,实施高可用性(HA)需要使用像Pacemaker和Corosync这样的开源软件为每个应用程序创建(然后维护)自定义脚本,并且只有规模非常大的组织才有能力承担所涉及的巨大而持续努力。

第三种选择是采用第三方故障转移集群软件,这是专门用于为公共云、私有云和混合云上的Windows操作系统或Linux操作系统上运行的应用程序提供完整的高可用性和灾难恢复解决方案。

这些解决方案至少结合了数据复制、连续应用程序级监控、可配置的故障转移/故障恢复恢复策略。这种集成使软件能够检测应用程序级别的任何和所有停机时间,无论其原因如何,其中包括各种云计算服务等级协议(SLA)未涵盖的原因。许多解决方案还提供高级功能,例如支持WAN优化以提高性能,以及人工切换主服务器和辅助服务器分配以促进计划维护。

虽然这些解决方案可以在私有云中与SAN配合使用,但大多数管理员更喜欢部署无共享SANless故障转移群集。其原因包括:消除潜在的单点故障、获得在公共云中工作的能力、并最小化恢复点对象(RPO)、恢复时间对象(RTO)和最短恢复时间(MTTR)。

5个9的故障转移集群配置

上图显示了一个三节点SANless故障转移集群,可在混合云中提供5个9的高可用性以及强大的灾难恢复保护。该应用程序是一个使用SQL Server标准版中的故障转移集群实例(FCI)的数据库。SQL1和SQL2位于公共云中具有SQL3的企业数据中心。在数据中心内,跨LAN的数据复制是同步的,以最大限度地缩短完成故障转移所需的时间,从而最大限度地提高可用性。

这个三节点SANless故障转移集群能够以最小的停机时间和无数据丢失处理两个并发故障。

在这个示例中,SQL1最初是主要活动实例,它将数据连续复制到SQL2和SQL3。如果SQL1失败,应用程序将自动将故障转移到SQL2,然后SQL2将成为SQL3的主要复制数据。

一旦问题得到解决,SQL1可以恢复成主要节点,或者SQL2可以继续在该容量中将数据复制到SQL1和SQL3。如果SQL2在SQL1返回操作之前失败, SQL3将成为主要的节点。此外建议使用人工故障转移,以防止由于到公共云的WAN链路中固有的较高延迟而导致数据丢失。

像这样的三节点集群还有助于为所有三台服务器进行计划的硬件和软件维护,同时为应用程序及其数据提供持续的灾难恢复保护。通过易于实施和操作的方式有效和高效地使用所有资源,故障转移集群软件使得5个9的高可用性更加经济实惠,其中包括混合云。

(来源:企业网D1Net)

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2018-11-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java进阶架构师

「架构技术专题」作为java程序员的你还不知道网站架构的演化(2)?

CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反...

1114
来自专栏北京马哥教育

如何构建高扩展性网站?

本篇通过阅读《高扩展性网站的50条原则》,总结出以下内容。   一方面博主没有实际的架构经验,另一方面知识面也不够宽阔,所以只能系统的总结书中的要点,并根据自...

3204
来自专栏微服务

关于大型网站技术演进的思考(一)--存储的瓶颈(1)

前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识...

40615
来自专栏CSDN技术头条

实用简介:MQTT协议及其在物联网中的应用

MQTT (Message Queuing Telemetry Transport,消息队列遥测传输) 是一种标准化的发布/订阅消息传输协议,设计于1999年,...

4046
来自专栏移动开发平台

零代码三步快速集成腾讯移动分析(MTA)(iOS)

腾讯移动分析有专业的移动应用数据分析能力,为您的应用提供实时数据统计分析服务,监控版本质量、渠道状况、用户画像属性及用户细分行为,通过数据可视化展现,协助产品运...

4406
来自专栏xingoo, 一个梦想做发明家的程序员

如何构建高扩展性网站?

本篇通过阅读《高扩展性网站的50条原则》,总结出以下内容。 一方面博主没有实际的架构经验,另一方面知识面也不够宽阔,所以只能系统的总结书中的要点,并根据自己...

2415
来自专栏网站设计制作、数字营销

网站在百度搜索结果中被标识危险什么原因

在日常的百度搜索中,会有时发现在搜索结果中出现有的网站快照索引被百度标识为危险标识风险提示,发生这样的风险提示是什么原因?公司网站在百度搜索结果中出现这样的情况...

2160
来自专栏程序员同行者

运维与自动化运维发展概括

6524
来自专栏Netkiller

打破软件自动化测试的格局

打破软件自动化测试的格局 自动化测试的误区 自动化测试仅仅被认为是替代人工,所以我们看到很多企业实施自动化测试仅仅是将现有的 Test Case 转换成自动化脚...

4045
来自专栏云计算D1net

混合云和多云管理不再难:基础架构即代码来帮忙

随着运维流程变得越来越灵活,IT团队面临着越来越大的复杂度。当应用动态改变时,可以使用敏捷或者持续应用开发。但是当IT资源本身动态变化的时候怎么办呢多云和混合云...

3937

扫码关注云+社区

领取腾讯云代金券