阿里云AHAS Chaos:应用及业务高可用提升工具平台之故障演练

简介: 阿里云AHAS Chaos:应用及业务高可用提升工具平台之故障演练

应用高可用服务AHAS及故障演练AHAS Chaos

应用高可用服务(Application High Availability Service)是阿里云一款专注于提高应用及业务高可用的工具平台,目前主要提供应用架构探测感知、故障注入式高可用能力评测和流控降级高可用防护三大核心能力,通过各自的工具模块可以快速低成本地在营销活动场景、业务核心场景全面提升业务稳定性和韧性。
图1:AHAS服务体系.png

图1:AHAS服务体系

故障演练AHAS Chaos是一款遵循混沌工程实验原理并融合了阿里巴巴内部实践的产品,提供丰富的故障场景实现,能够帮助分布式系统提升容错性和可恢复性。故障演练建立了一套标准的演练流程,包含准备阶段、执行阶段、检查阶段和恢复阶段。通过四阶段的流程,覆盖用户从计划到还原的完整演练过程,并通过可视化的方式清晰地呈现给用户。
图2:故障演练流程.png

图2:故障演练流程

AHAS Chaos的适用场景

衡量微服务的容错能力

通过模拟调用延迟、服务不可用、机器资源满载等,查看发生故障的节点或实例是否被自动隔离、下线,流量调度是否正确,预案是否有效,同时观察系统整体的QPS或RT是否受影响。在此基础上可以缓慢增加故障节点范围,验证上游服务限流降级、熔断等是否有效。最终故障节点增加到请求服务超时,估算系统容错红线,衡量系统容错能力。

验证容器编排配置是否合理

通过模拟杀服务Pod、杀节点、增大Pod资源负载,观察系统服务可用性,验证副本配置、资源限制配置以及Pod下部署的容器是否合理。

测试PaaS层是否健壮

通过模拟上层资源负载,验证调度系统的有效性;模拟依赖的分布式存储不可用,验证系统的容错能力;模拟调度节点不可用,测试调度任务是否自动迁移到可用节点;模拟主备节点故障,测试主备切换是否正常。

验证监控告警的时效性

通过对系统注入故障,验证监控指标是否准确,监控维度是否完善,告警阈值是否合理,告警是否快速,告警接收人是否正确,通知渠道是否可用等,提升监控告警的准确性和时效性。

定位与解决问题的应急能力

通过故障突袭,随机对系统注入故障,考察相关人员对问题的应急能力,以及问题上报、处理流程是否合理,达到以战养战,锻炼人定位与解决问题的能力。

AHAS Chaos的功能优势

灵活的流程编排

AHAS Chaos将故障演练的环节分为了准备、注入、检查以及恢复四个阶段,每个阶段除了系统初始化完成的必要节点之外,用户也可以根据需要添加自己的流程节点。
AHAS Chaos支持一次演练定义包含多个故障场景,同时用户可以定制这些场景的运行方式,选择依次进行故障注入或同时注入多个场景,通过不同的策略配置来达到不同的故障注入效果。

丰富的故障场景

丰富的故障场景也是AHAS Chaos的一大特色,包括以下场景:

  • 常见的基础设施资源例如CPU、内存、磁盘等。
  • 应用级别的故障注入,目前支持Java应用,后续将陆续推出对于NodeJs和C++的应用故障注入。
  • 云原生领域的演练场景。

无论用户是需要设置集群级别的大规模故障还是应用级别的请求级别细粒度故障,都可以在AHAS Chaos找到适合的场景,下图是AHAS Chaos提供的部分故障场景。
图3:AHAS Chaos提供的部分故障场景.png

图3:AHAS Chaos提供的部分故障场景

多样的专家经验

AHAS Chaos将阿里内部多年的故障演练经验浓缩成了专家经验,专家经验具有以下优点:

  • 专家经验都来自于阿里内部经常演练的场景,保证了演练场景的真实性以及实用性。
  • 专家经验不但包括了可执行的演练流程,还描述了专家经验试图解决的问题以及针对的系统架构弱点。
  • 专家经验极大地提升了演练创建的效率,用户可以基于专家经验配置好的流程一键生成自己的演练。

安全的演练防护

在保护用户的演练安全性上AHAS Chaos也做了非常多的防护措施:

  • 在演练的任意一个环节,用户都可以随时终止演练,每一个终止操作都会自动恢复注入的场景。
  • 用户可以一键终止所有正在运行当中的演练。
  • 用户可以配置演练的自动恢复时间,防止因演练时间过长而忘记恢复演练引发不必要的问题。
  • 用户可以通过全局恢复功能来配置自动恢复的策略,当某个指标符合某个要求时自动恢复演练。

深度集成的阿里云产品

AHAS Chaos和阿里云的许多产品如ARMS、SLS、EDAS、OTS以及架构感知服务等做了深度集成,通过授权用户可以实现以下功能:

  • 对依赖的阿里云组件进行故障注入。
  • 基于接入的阿里云监控系统数据如ARMS来丰富演练检查和恢复的手段。
  • 通过RAM服务来授权不同账号的演练权限,提升演练的安全性。

演练实践

网络不稳定对业务系统的影响

经验描述:通过注入多种网络故障,来检测网络不稳定对系统造成的影响,以及系统的应对情况。
背景:网络环境不好,可能会对业务造成比较大的影响,特别是系统依赖较多的外部服务,比如缓存Redis、消息中间件等,因此需要通过网络层面的故障注入来考察系统的超时处理能力。
架构弱点:1.对第三方系统的调用超时设置不合理;2.缺乏对依赖超时时候的重试能力;3.缺乏对依赖超时问题的兜底策略,比如异常处理、功能降级等措施。
评测:1.系统设置了合理的超时时间,不会因为依赖系统的网络不稳定导致请求超时;2.针对第三方调用超时或者失败的情况,系统配置了监控,并且具备一定的重试能力。

java应用发生oom异常

经验描述:1.通过填满jvm的内存空间,来触发fullgc和oom异常,使得应用的响应时间变长,甚至无响应,来观察业务的处理效率以及监控的发现情况;2.oom存在一定风险无法自动恢复,需要重启应用。
背景:新生代是jvm内部一块重要的内存区域,由于新建对象过多等因素导致该区域内存被占用到一定额度,会触发MiniGc操作进行回收,但是如果新建的对象一直被引用,那么会导致MiniGc无法回收,进而上升到老年代,如果老年代也被占用满,那么就会触发fullgc,频繁的gc操作会导致应用的cpu以及请求响应都变得很高,对业务应用造成比较大的影响。
架构弱点:1.监控缺失,当应用发生fullgc之后,无法及时定位问题,特别是现在很多的jvm监控系统都采用了metric的规范,通过应用提供的http接口来获取监控数据,一旦应用无响应,那么会导致监控数据无法及时获取,进而不能触发报警;2.不能及时下线问题机器,由于频繁的gc,应用已经无法响应业务请求,因此需要及时下线掉问题机器。
评测:1.当应用发生了fullgc,问题机器迅速被隔离掉,不再接受业务请求。2.当应用发生了fullgc,监控系统可以迅速报警并且定位问题。

总结

故障演练AHAS Chaos作为AHAS的一部分,在其中承担了问题发现、问题验证、高可用经验沉淀的作用,并与AHAS其他功能组成了一套完善的高可用保障服务,可以帮助用户实现包括架构、业务、人员的全面高可用提升。更多有关AHAS Chaos以及AHAS其他功能如架构探测感知、流控降级高可用防护的内容可点击链接或扫描下方二维码进行详细了解。

AHAS二维码.png

作者:楼海斌

阿里云智能SRE混沌工程团队技术专家

混沌团队技术专家,从理论到平台建设、落地实施都有丰富的经验,目前主要负责阿里巴巴集团混沌工程的基础设施建设以及云上混沌工程产品AHAS-Chaos的开发,致力于通过混沌工程来提升用户系统的高可用性,保障业务的稳定性。

我们是阿里云智能全球技术服务-SRE团队,我们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提升业务稳定性。我们期望能够分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。

image.png

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
相关文章
|
17天前
招募!阿里云x魔搭社区发起Create@AI创客松邀你探索下一代多维智能体应用
招募!阿里云x魔搭社区发起Create@AI创客松邀你探索下一代多维智能体应用
282 0
|
1月前
|
机器学习/深度学习 人工智能 算法
【AAAI 2024】再创佳绩!阿里云人工智能平台PAI多篇论文入选
阿里云人工智能平台PAI发表的多篇论文在AAAI-2024上正式亮相发表。AAAI是由国际人工智能促进协会主办的年会,是人工智能领域中历史最悠久、涵盖内容最广泛的国际顶级学术会议之一,也是中国计算机学会(CCF)推荐的A类国际学术会议。论文成果是阿里云与浙江大学、华南理工大学联合培养项目等共同研发,深耕以通用人工智能(AGI)为目标的一系列基础科学与工程问题,包括多模态理解模型、小样本类增量学习、深度表格学习和文档版面此次入选意味着阿里云人工智能平台PAI自研的深度学习算法达到了全球业界先进水平,获得了国际学者的认可,展现了阿里云人工智能技术创新在国际上的竞争力。
|
1月前
|
弹性计算 负载均衡 网络协议
这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
【2月更文挑战第20天】这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
72 1
|
2月前
|
运维 安全 关系型数据库
参加数据库管理工具DAS训练营,赢取国潮保温杯和阿里云定制双肩包!
本训练营带您简单了解数据库自治与云安全服务,数据库自治服务提供云上RDS、PolarDB、NoSQL、ADB等数据库7*24小时异常检测、SQL自优化、安全合规审计、弹性伸缩、数据自治、锁分析等亮点功能。一站式自动化、数字化DAS集成平台,助力您畅享DBA运维智能化。
|
2月前
|
弹性计算 人工智能 安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
432 0
|
2月前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
479 0
|
1月前
|
弹性计算 安全 定位技术
幻兽帕鲁服务器搭建攻略:【阿里云平台快速上手指南】
2024年,火爆畅销的《幻兽帕鲁》游戏让无数玩家着迷不已!那么,您是否急切想要拥有一个能与伙伴们一起畅快玩耍的游戏服务器呢?现在就跟随若城的脚步,一起动手搭建一个属于自己的《幻兽帕鲁》服务器吧!让这个新年有心意
|
8天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
45 0
|
13天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
23天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
16 0

热门文章

最新文章