简介: 模仿驾驶能力输入,赋能客户晋升稳定性信念
1. 背景
咱们技术服务团队常常会遇到这样的情况,随时随地收到紧急电话,开始缓和地排查问题,解决故障以及复原服务。硬盘故障、网络不通、大量不到终态、水位高、流量激增等问题举不胜举,兴许因为一个很小的变更,因某种不可预期的场景,引起蝴蝶效应,导致了大面积的零碎凌乱、故障和服务中断,对客户的业务造成重大影响。故障往往带来微小的损失,然而因为分布式系统的个性,各种不可预期的突发事件在劫难逃,单靠人力并不可能百分之百地阻止其产生。与其担惊受怕零碎会呈现什么样的问题,不如化被动为被动,提前模仿线上环境可能呈现的各种状况,来测验咱们的零碎是否能做到容错,是否在呈现问题时依然具备对外提供服务的能力。
模仿驾驶的初衷就是通过实验性的办法,被动找出零碎中的软弱环节,让人们建设起简单分布式系统在生产中抵挡突发事件的信念。任何足够简单的零碎都不可避免地带有让人意想不到的暗债,暗债是古代软件系统逐渐复杂化过程中的副产品,它会威逼零碎的失常运行。模仿驾驶的意义就在于,它会帮忙你发现暗债,从而在暗债变成零碎的重大问题之前加以应答,防止造成损失。
2. 模仿驾驶
模仿驾驶是 GTS-SRE 混合云团队遵循混沌工程试验原理,并交融团队外部多年高可用体系积淀下来的教训而打造的一款技术服务,提供丰盛的故障场景、异样仿真的实现,可能帮忙分布式系统晋升容错性和可恢复性,以期帮忙更多的政府和企事业单位做好稳定性建设。
2.1 根底服务内容
图 1:模仿驾驶根底服务内容框架
2.1.1 混沌工程课程培训
混沌工程学培训课程波及三个专题,共八章,20 大节的内容。课程从混沌工程学的实践登程,交融阿里外部实际,通过由混合云历史故障库和故障能力库中精炼总结得来的经典案例,深入浅出地解释了如何实现混沌工程试验,包含所须要面对的挑战、推动的筹备项、采纳的工具以及模仿驾驶的施行办法,是混沌工程学实际的入门课程。通过课程的学习,能够帮忙用户达到以下的指标:
- 理解混沌工程学根本的概念、准则、前提、作用以及利用;
- 理解混合云在混沌工程学实际的工具包;
- 理解具体实施混沌工程试验的办法;
- 理解各场景的模仿驾驶演练操作方法;
- 参加混合云混沌工程的社区共建。
2.1.2 模仿驾驶工具包
- 试验注入工具 -Apsara Chaos Platform
Apsara Chaos Platform(简称 ACP)是混合云一款遵循混沌工程原理和混沌试验模型的试验注入工具,帮忙企业晋升分布式系统的冗余容错能力、故障隔离能力、可观测性,并且在企业上云或往云原生零碎迁徙过程中提供弹性能力和易用性能力的保障。ACP 可反对丰盛的异样仿真场景,包含边界异样仿真(如 docker 异样等)、应用层仿真(如过程假死、异样退出等)、零碎层仿真(如 CPU、内存、磁盘空间等系统资源耗费)、硬件层仿真(如网卡抖动、带外重启等),并且在异样场景编排的异样类型节点,能够对此模拟能力进行实例化。 - 监控告警工具 -TAM Alarm Center
TAM Alarm Center(简称 TAC)是 SRE 团队为混合云精心打造的一站式告警运维平台,笼罩混合云所波及的云产品、大数据、云实例以及用户所波及的站点利用等告警,提供告警生命周期治理以及报警外发等解决方案。帮忙混合云疾速发现、定位异样问题。目前,中国区 100+ 我的项目已部署 TAC,其中有 40%+ 的我的项目能够通过钉钉、短信或邮件的形式实现告警外发。无效地进步了告警解决效率,缩小因告警未及时处理导致故障的状况,大幅提高我的项目运维品质,缩小我的项目人力投入老本。 - 故障诊断工具 -SRE-CLI
Site Reliability Engineer – Command-Line Interface(简称 SRE-CLI)是一款黑屏化控制台的故障诊断工具,可能依据异样场景从场景库中匹配查看项进行主动诊断并确认异样起因,归档异样详细信息,最终给出解决倡议。SRE-CLI 可帮忙混合云疾速发现、定位异样问题的起因,提供从问题形容、故障定位及诊断、输入诊断报告、提供解决倡议的全方位“问诊”服务。目前,云平台底座产品天基的 40% 问题曾经可能通过 SRE-CLI 工具进行诊断定位,从而缩小了人工手动排查的工夫,无效地进步了故障解决效率,大幅提高我的项目运维品质,缩小我的项目人力投入老本。 - 巡检及问题诊断工具 - 铜雀
铜雀专一于智能化巡检及问题诊断,是 TAM 和驻场服务团队日常工作中的首要工具。它能让 TAM 和驻场服务团队从日常繁琐的巡检工作中解放出来,将精力投入到更有价值的客户服务中去,通过买通云平台侧、租户侧及利用侧的信息,辅助利用运维及优化,并通过工具化伎俩晋升现场问题剖析定位的能力和速度。铜雀目前作为混合云企业版的规范输入产品,曾经可能 100% 笼罩 V3 平台的局点。目前铜雀的性能次要是以巡检为核心,后续将逐步将故障应急、高频变更、问题诊断能力补充上来,并将铜雀的根底能力凋谢进去,使产品、驻场、TAM 等人员的教训一直积淀到零碎中,打造以铜雀为核心的运维生态圈。
2.2 服务案例
2.2.1 背景
某电力集团客户想验证云平台的高可用性以及阿里的故障应急能力,在沟通之后理解到 SRE-TAM 团队有业余欠缺的模仿驾驶能力,遂提出服务申请,邀请技术服务团队至业务现场进行赋能培训及演练服务。
2.2.2 指标
技术服务团队心愿通过本次服务晋升客户对混沌工程这一理念的认知和对云平台的理解,同时帮忙现场同学和客户晋升故障的应急解决能力,提振平台稳定性信念。
2.2.3 服务概述
- 技术服务团队调研并收集我的项目现场信息;
- 赋能客户,进行混沌工程培训课程的讲授(包含混沌工程概述、混合云混沌工具包介绍、模仿驾驶三个专题);
图 2:客户现场进行赋能培训
- 进行工具的筹备及部署工作,在业务现场部署了 ACP 和 SRE-CLI 工具,对已部署的 TAC 工具进行了降级工作;
- 客户提供了演练工夫窗口,技术服务团队依照规范流程(后期查看、故障注入、告警查看、故障诊断 & 复原)进行了五个场景的模仿驾驶演练;
- 领导客户应用工具进行操作演练并答疑;
图 3:客户现场领导操作并答疑
2.2.4 成绩
通过本次模仿驾驶的服务,增强了客户对混沌工程试验的认知和加深了客户对云平台高可用性的理解:
- 通过手把手地领导并且协同客户一起从故障注入到故障发现最初到解决故障的试验全流程实际,客户对模仿驾驶的影响范畴和爆炸半径有显著的体感,对混沌工程的准则有了肯定的认知;
- 模仿驾驶演示后,客户对云平台的自愈能力和健壮性示意深度认可,并且对前期进行常态化、机制化的演练动向比拟强烈;
- 客户很乐意参加混合云模仿驾驶的共建。
3. 总结及思考
凡人说“实际是测验真谛的唯一标准”,然而在发展模仿驾驶之旅的过程中,是无奈欲速不达地达到试验的最现实状态的,那咱们能够依照怎么的门路去施行第一次模仿驾驶试验呢?
首先,所谓模仿驾驶的实验性是为了摸索“未知”的危险,找到暗债,然而实际中无妨先从“已知”开始。通过对“哪里最可能出问题”的思考和探讨,咱们评估出零碎潜在的弱点和预期后果,这能够让你对演练的优先级有所把握:哪些潜在问题更有可能产生或结果更重大。团队能够通过记录并总结历史故障类型、产生频次以及对应的依赖项等,从而对“哪里最可能出错”有初步的意识。当你感觉某一项可能存在问题时,先从这类场景注入故障会是一个好的开始。
其次,在试验施行前咱们需先创立一个假如,这会是一个很好的团队思维练习。通过探讨这个场景,你能够在运行它之前对预期后果进行假如,比方这个失败对客户、企业或对你的依赖项有什么影响? 在运行第一个试验之后,你可能会遇到两个后果之一:验证了系统对引入的故障是否具备弹性,或者发现须要修复的问题。这两个后果都很好。如果是第一种状况,你加强了对系统及其行为的信念;如果是后者,你则在零碎导致停机之前发现了问题。
最初,模仿驾驶试验主张“在离生产环境越近的中央进行试验越好越实在”,但咱们认为从理论状况的角度来看,这取决于组织对这一理念的接受程度。那么让各方都比拟释怀的一种比拟温和的试验门路是从线下逐步走到生产。不过对于分布式系统而言,部署不同、流量不同都会带来不一样的后果,唯有在生产环境中进行试验能力真正验证,否则会大大地减弱这些实际的价值。
就如同人类要打疫苗能力罢黜未知的病痛,零碎的稳定性建设也离不开模仿驾驶,心愿咱们的团队能够更多地将模仿驾驶技术能力输入,赋能更多的客户,来晋升反脆弱性和零碎稳定性的信念!
原文链接
本文为阿里云原创内容,未经容许不得转载。