带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(3)

简介: 带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(3)

更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(2):https://developer.aliyun.com/article/1405311


4. 云上容灾建设最佳实践

1)    建设路径

 

image.png

 

以上这张图片是阿里云对外提供的云上容灾交付服务白皮书中关于云上建设容灾能力的路径说明,主要分成五个步骤:

(1)需求分析 

在该阶段,主要关注服务是否需要进行容灾建设,以及需要建设到何种程度的容灾能力。因为对于业务不同的阶段,所要关注的重点也不同。如对于起步阶段的业务,其更多关注的是如何吸引更多的客户;

 

第一阶段发展过后,客户数量有了一定程度的增加,此时则会对应用带来更高的流量,此时更关注的是如何建设应用的稳定性,如高并发或慢搜克的问题,该阶段一般采用同城双活的容灾架构。即可满足大部分的诉求;

 

再进一步,如果业务发展成了国民级别,或公司的基础层面的设施服务,则要考虑进一步的容灾能力的建设,包括异地双活火或异地多活的容灾能力。

 

因此,要基于自身业务的发展情况及自身应用的特征分析所需的应用的容灾要满足怎样的诉求,定义具体的RTORPO。即使是同一公司,不同的应用、不同的服务对容灾的诉求也是不同的。比如库存服务,因为库存对数据一致性要求非常高,因此库存一类的服务就不太适合进行异地多活或异地双活的容灾架构建设。

(2)现状调研

包括去分析每个应用的情况(不同的应用对业务的重要程度不同,对容灾的诉求也不同),云平台的调研(如云平台上能提供哪些容灾能力,可以在哪些层面降低容灾建设的成本),以及基础设施层面的调研。在调研阶段,可以产出调研报告指导设计工作。

3)容灾方案设计

包括总体的容灾方案,云平台方面进行容灾部署的方案,应用层面要进行容灾方面的改造设计,以及在具体的应用容灾部署方案。这一阶段可以产出应用容灾的方案以及平台容灾的方案。 

 

∙        容灾能力的演练设计

包括要进行哪些场景的演练,对应的应急预案如何,DRP方案如何。这个阶段可以产出容灾演练的方案。

 

∙        演练的实施

包括演练如何操作,演练之后内部的复盘会议。通过演练的实施,可以产出容灾演练报告,进行相应的查漏补缺,以完善系统整体的容灾能力。

2)    同城双活

接下来以具体的云上同城双活容灾建设为例,学习在云上如何做容灾能力建设。

 

image.png

 

在云上进行容灾建设,目前云上很多的云产品都已经具备了容灾的能力,可以大幅降低自身业务层面落地容灾能力时的成本。这里主要从计算高可用、存储高可用,以及业务改造层面学习在云上做同城双火时,可以借助云上的哪些服务降低容灾能力建设的成本。

 

首先,在应用高可用部署层面,可以采用跨可用区的ECSECI进行冗余部署。ECS主要解决的是VM层面部署的技术部署方案,ECI可以解决容器层面的技术部署方案。如果服务目前还是在云下,未部署到云上,可以考虑使用服务器迁移中心SMC云产品把线下的云下的服务栏快速部署上云,甚至服务无需要中断。如果服务已经部署在云上,为了进行同城双活容灾,则需要将服务同从一个可用区快速部署到另外一个可用区,则可以考虑使用资源编排ROS云产品,满足服的一键快速部署。最上层还需要进行流量的负债均衡,可以考虑使用SLB的多可用区部署。

 

在存储高可用方面,主要关注数据库以及缓存中间件、消息中间件以及文件的存储。在这一层面,很多云产品也都提供具备容灾能力的产品服务,包括说云数据库RDS的高可用系列多可用区部署方案,云数据库 Redis高可用系列双可用区部署方案,消息队列 RocketMQ 版,它本身具备容灾能力,以及OSS 同城冗余存储。

 

在具体的业务改造层面,首先要做的是业务要支持读写分离,第二为了满足更好的应用性能,应尽量是做到可用区内部RPC流量的封闭。基本上,目前主流的W3等都支持该能力的。

3)异地双活

异地双活由于两个数据中心距离较远,直线距离大于1000千米。

 

在计算高可用方面,除了刚提到的应用高可用容灾部署,以及流量的负债均衡之外,还需要跨地域高可用的网络服务,推荐使用云企业网CEN云产品,它可以帮助我们构建数据中心之间较高质量的网络链路。

 

在数据存储的高可用方面,除了刚才提到的数据库高可用、缓存组件的高可用、消息组件高可用和文件存储高可用之外,由于涉及到数据中心广域网的数据同步,还需要进行数据双向同步服务,可以采用数据传输服务DTS云产品,帮助我们解决包括常见数据库以及数据类的中间件组件层面的数据的双向同步能力。

 

最大的挑战还是在业务改造层面,在业务改造层面,除了要继续支持RPC流量内部封闭之外,还需要在最上层进行业务路由层的改造、业务单元化的划分以及一些读写分离方面的改造。这里的路由层还要满足使得相同特征的流量尽量能够在单个数据中心闭环处理。如果使用的是地理位置方面的路由服务,可以考虑使用云解析 DNS - 智能DNS解析能力,前面提到ECS内部的Web应用现在采用的异地多活全球化的容灾架构最上层的DNS是解析使用的云解析 DNS - 智能DNS解析能力。

 

异地双活对业务改造成本较高,因此,我们推荐进一步采用阿里云提供的多活容灾 MSHA云产品,进一步降低在业务层面的改造成本。

 

image.png

 

最后就本次的交流内容进行简单的总结和回顾。

 

image.png

 

在第一部分的内容中介绍了系统容灾方面的内容,包括常见的故障类型,特别是市政方面的断电断网以及自然灾害方面的故障。在介绍故障的同时,以具体的案例展开讲解了在云上也需进行容灾方面的能力建设,以避免此类故障对业务产生的致命的影响。此外,还介绍了常见的容灾级别,包括同城级别的容灾,异地级别的容灾,以及同城容灾和异地容灾的组合形态。

 

在第二部分,介绍了业界比较主流的容灾架构,以及在容灾能力方面比较有影响力的两个评价指标,分别是RPORTO。在主流容灾架构对比中,详细展开介绍了包括同城灾备、同城双活、异地双活和异地多活四种容灾架构。

 

在第三部分,就ECS团队内部某具体Web服务在业务不同的发展阶段采用不同的容灾架构的思考和实践进行了详细的介绍。包括在应用的起初始阶段采用的同城双火容灾架构,以及随着业务的快速发展和客户数量的增加,逐渐演变到单元化和全球化容灾架构。

 

最后一部分,介绍了在云上如何进行容灾能力的建设,包括在云上如何进行容灾建设的最佳实践路径,以及具体地在云上如何进行同城双活和异地双活能力的建设。在具体的案例介绍中,还介绍了包括在计算高可用、存储高可用以及业务具体的改造方面的一些内容,以及相关的具备灾备能力的云产品,在云上进行容灾能力建设的同时,借助这样云产品可以大幅降低在云上容灾建设的成本。

 

以上就是本节课程的全部内容

《云上自动化运维宝典》:https://developer.aliyun.com/ebook/8220

相关文章
|
7天前
|
前端开发 机器人 测试技术
【RF案例】Web自动化测试弹窗处理
在进行Web自动化测试时,常会遇到不同类型的弹窗,如ajax、iframe、新窗口及alert/Confirm等。这些弹窗可通过Selenium进行定位与处理。其中,ajax弹窗直接定位处理;iframe需先选中再操作;新窗口类似iframe处理;而alert/Confirm则需特殊方法应对。在Robot Framework中,需先定义并获取窗口后使用特定关键字处理。此外,还有部分div弹窗需在消失前快速定位。希望本文能帮助大家更好地处理各类弹窗。
18 6
【RF案例】Web自动化测试弹窗处理
|
3月前
|
运维 监控
如何使用OOS有效进行云上自动化运维
OOS(运维编排服务)是一种云上自动化运维工具,可以帮助你有效进行云资源的管理和维护。以下是如何使用OOS有效进行云上自动化运维的一些建议: 1. **利用自动化能力**:OOS提供了批量操作、
|
28天前
|
测试技术 开发工具 iOS开发
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
这篇文章是iOS自动化测试方案的第三部分,介绍了在没有MacOS系统条件下,如何使用WDA(WebDriverAgent)结合Python客户端库facebook-wda和tidevice工具,在Windows系统上实现iOS应用的自动化测试,包括环境准备、问题解决和扩展应用的详细步骤。
61 1
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
|
1月前
|
运维 测试技术 持续交付
解决方案 - 自动化单元测试
解决方案 - 自动化单元测试
33 1
|
2月前
|
运维 关系型数据库 Serverless
体验《卓越效能,极简运维,Serverless高可用架构》解决方案
体验《卓越效能,极简运维,Serverless高可用架构》解决方案时
|
2月前
|
运维 监控 安全
云上智能监控:引领未来安防与运维的新纪元
通过智能视频分析技术自动识别违章行为(如闯红灯、超速等)并触发报警机制。同时结合交通流量监测和信号灯控制功能实现交通流量的优化和拥堵缓解。 智能零售监控:在零售行业中云上智能监控可以应用于店铺的客流统计和商品管理。
|
2月前
|
人工智能 运维 自然语言处理
|
2月前
|
测试技术 持续交付 微服务
现代软件测试中的自动化挑战与解决方案
在现代软件开发中,自动化测试已经成为提高效率和质量的重要手段。然而,面对不断增长和复杂化的软件项目,自动化测试也面临诸多挑战。本文探讨了当前软件测试中的自动化挑战,并提出了一些解决方案,以帮助开发团队更好地应对这些挑战,提升测试效率和质量。 【7月更文挑战第11天】
|
2月前
|
运维 监控 Serverless
探索Serverless高可用架构:云上极简运维的新篇章
随着云计算的快速发展,Serverless 架构因其无需管理服务器、按需自动扩展等优势,逐渐成为企业应用构建的重要选择。阿里云提供的 Serverless 高可用架构解决方案,通过结合多种云服务,提供了强大的高可用性和自动化运维能力。本文将评测阿里云 Serverless 高可用架构的核心功能、优势及其应用场景,帮助读者更好地理解和使用这一解决方案。
|
2月前
|
运维 监控 安全
云上智能运维:重塑IT运维的未来图景
深度学习等技术实现更加精准的故障预测和性能优化。同时,随着云计算技术的不断成熟和普及,云上智能运维将实现更加灵活、高效的资源管理和服务交付。此外,随着安全技术的不断发展和完善,云上智能运维将更加注重数据安全和隐私保护,为企业提供更加安全可靠的运维服务。