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

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

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

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

图1:AHAS服务体系

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

 

图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提供的部分故障场景

多样的专家经验

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其他功能组成了一套完善的高可用保障服务,可以帮助用户实现包括架构、业务、人员的全面高可用提升。

作者:SRE团队技术小编-小兰

原文链接

本文为阿里云原创内容,未经允许不得转载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAE助力「海底小纵队学英语」全面拥抱Serverless,节省25%以上成本

简介: 阿里云Serveless应用引擎SAE 具备免运维IaaS、按需使用、按量计费、低门槛服务应用上云,并且支持多种语言和高弹性能力等特点,刚好完美解决了客户长期以来运维复杂、资源利用率不高、开发迭代效率低等问题。 海底小纵队学英语隶属于成都…

低代码从技术走向产品,用友发布自动化设计工具“码前”

低代码以往只被作为技术被讨论,这一次,用友用低代码推出了自动化、一站式“需求产品设计”工具“码前”,帮助企业用户快速完成代码前的所有设计工作。 编辑 | 宋 慧 出品 | CSDN云计算 据《2021中国数字经济发展白皮书》统计,2020…

java连接access驱动_Java 连接Access

Java 连接Access第一次使用连接Access数据库, 记录一下遇到的坑Access驱动下载地址 http://pan.baidu.com/s/1o8ltTfc不使用WINDOW的建立数据源方法,直接在Java代码内部与Access数据库连接public void ConnectAccessFile() throws Exception{Class.forNa…

基于Serverless的云原生转型实践

简介: 新一代的技术架构是什么?如何变革?是很多互联网企业面临的问题。而云原生架构则是这个问题最好的答案,因为云原生架构对云计算服务方式与互联网架构进行整体性升级,深刻改变着整个商业世界的 IT 根基。 云原生架…

监控最佳实践--redis及业务接口

简介: 监控最佳实践--redis及业务接口 1. 背景 1.1 问题 2020-12-04,客户侧redis集群版监控DB0 CPU突增至100%,导致数据库无法正常服务,经排查客户侧业务上存在2M左右的大key导致DB0阻塞。并且客户侧使用的集群连接方式为默认pr…

汽车电气化竞争:获胜的途径

“如果您觉得一切都在掌握之中,那就是您的速度还不够快。”— Mario Andretti 多年来,汽车制造商不断面临对更大功率需求的挑战。在早期,汽车使用 6V 电池供电,直到 20 世纪 50 年代中期,汽车系统演变为 12V 电源&…

从MVC到云原生:CBU研发体系演进之路

简介: 本文对过去十年 CBU 在研发方式和技术架构上的探索做一个简要的回顾总结,以及对未来的展望。 前言 CBU作为集团内最早成立的几个BU之一,有着多年丰富的业务沉淀,而CBU的技术也伴随着业务一起不断地演进和成长着。从PC时代的…

你们关心十三香不香,我却关心背后的质检稳不稳

前些天,一年一度的科技圈春晚——苹果秋季新品发布会如约而至,iPhone13再度成为苹果产品发布会的绝对主角。 更强的CPU,更强的相机,更好的屏幕,更长的续航,更性感的配色,还有更低的价格——在全…

如何通过 Serverless 提高 Java 微服务治理效率?

简介: 在业务初期,因人手有限,想要快速开发并上线产品,很多团队使用单体的架构来开发。但是随着公司的发展,会不断往系统里面添加新的业务功能,系统越来越庞大,需求不断增加,越来越多…

每次都需要解释大量指令?使用 PolarDB-X 向量化引擎

简介: 向量化引擎为PolarDB-X的表达式计算带来了显著的性能提升。 介绍 PolarDB-X是阿里巴巴自研的云原生分布式数据库,采用了计算-存储分离的架构,其中计算节点承担着大量的表达式计算任务。这些表达式计算涉及到SQL执行的各个环节&#xff…

稳定性保障6步走:高可用系统大促作战指南!

简介: 年年有大促,大家对于大促稳定性保障这个词都不陌生,业务场景尽管各不相同,“套路”往往殊路同归,全链路压测、容量评估、限流、紧急预案等,来来去去总少不了那么几板斧。跳出这些“套路”&#xff0c…

观测云品牌正式亮相,携手通信院共推国内可观测性概念与技术发展!

2021年9月17日,由中国信息通信研究院、中国通信标准化协会联合主办的“2021 OSCAR 开源产业大会”在北京中关村拉开序幕。会上正式发布了《开源治理标准与评估结果》《开源法则》等多项重要成果,而由通信院主导、驻云科技参与制定的《中国可观测性标准》…

闲鱼如何建设技术舆情治理体系 (多图多代码)

简介: 从日志、监控、性能检测几个方面建设了有日志可查、有数据可依的排查体系 现状和问题 闲鱼的舆情治理,依托阿里集团的设施建设,有以下能力: 崩溃异常、性能在线聚合查询;本地日志:TLog;在…

全球企业KVM开源贡献榜发布,腾讯云、华为、阿里巴巴等入围

9月16日晚,在全球虚拟化顶级技术峰会 KVM Forum 上,2021年度全球企业 KVM 开源贡献榜正式发布,华为、腾讯云、阿里巴巴等中国公司纷纷入围。其中,腾讯云更是连续第五年入围,成为唯一取得这一成就的中国企业。 据了解&a…

使用MQTT与函数计算做热力图的实践

简介: 在各类场景中,关于上报数据的处理无处不在,而以上提到的场景都可以通过本方案的MQTTFCAPI Gateway的方式参考优化来实现。 前言 最近几年,我们在一些商场、图书馆、机场或港口环境里,经常可以看到一些机器人在转…

Google 宣布推出隐私计算核心服务;Amazon Managed Grafana正式可用……

NEWS本周新闻回顾Google 宣布推出隐私计算核心服务今年 5 月 Google I/O 开发者大会发布 Android 12 的同时,宣布了隐私计算核心(Private Compute Core)。这是一项开源计划,提供了一个沙盒式的安全环境,将智能回复、实…

谈身份管理之基础篇 - 保障云上安全,从[规范账号使用]开始

简介: 身份和密钥的管理,是企业上云的重中之重;每年国内外都有因为身份和密钥的管理不善,或泄露,或误操作导致严重的生产事故或者数据泄露。本期小编将重点聊聊云上身份的那些值得关注的事儿。 引言 2021年初&#xf…

开课啦 dubbo-go 微服务升级实战

简介: 杭州开课啦教育科技有限公司是一家致力于为中小学生提供学习辅导的在线教育公司,目前公司后端服务基础设施主要依托于阿里云原生,其中包含计算、网络、存储以及 Kubernetes 服务。 技术选型背景 2020 年是开课啦公司发展壮大的一年&am…

gui界面设计心得体会 python_Python笔记-GUI界面设计(tkinter)

文章目录前言相关介绍一、函数方法介绍二、导入tkinter库三、窗口[1]. 创建[2]. 设置标题[3]. 设置大小[4]. 设置背景色[5]. 删除窗口四、按钮[1]. 创建[2]. 放置按钮(绝对位置)[3]. 放置按钮(相对位置)[4]. 代码五、单行文本[1]. 创建[2]. 代码前言此篇文章介绍的是有关图形用…

阿里云科技驱动“数字化转型”,助力中小企业发展“突围”

2020年至2021年的新冠疫情, 让全世界进入了困难模式,国家的经济运行不得不放缓脚步。这不仅给每个人造成了很多不便,更是给人们所依赖的企业组织,造成了巨大的影响。每一个微观个体所感受的只是自己身边肉眼可见的影响&#xff0c…