在美国旧金山举行的首届ChaosConf大会上,Kolton Andrus做了一个有关混沌实验在过去八年中如何演变的演讲。他认为,与处理故障有关的人力和组织方面的内容不应该被忽略,并建议工具应该支持应用程序和请求级别的故障注入测试,以便最小化潜在的故障影响范围。

\\

Andrus是Gremlin的首席执行官,他通过谈论混沌实验在行业内的演变拉开了活动的帷幕。他将“level 0”实验视为为云端的主机故障做准备。这需要较低的成熟度,而且通常需要使用诸如Chaos Monkey之类的工具将主机故障随机地注入到系统中。随着实践的成熟,“level 1”和“level 1.5”实验的实现变得训练有素,并且将额外的重点放在试验网络故障上。这需要网络专业知识和更高级的运营成熟度。

\\

\\

与处理故障有关的人力和组织方面的内容也成为level 1.5的一个焦点。这里的实验通常是通过“游戏日”来实现的,这些游戏日提供了训练机会,并模拟故障,以便观察人们在真实情况下的反应。Andrus警告说,并非所有组织都认识到发展组织应对故障能力和对员工进行适当训练的价值:

\\

\

我工作过的很多公司在进行轮班待命训练时,摆出一副“这里是你的寻呼机和仪表盘——祝你好运”的姿态。这是不可接受的。

\

\\

接下来,Andrus表示,主机测试和基于OSI Layer 3和Layer 4的网络测试对于很多想要运行混沌实验的组织来说是不够的,因为需要更精细的粒度来限制影响并安全地测试应用程序。他说,“运营人员通常考虑的是请求级别的东西”,为了使用请求级别的数据和元数据来选择性地控制测试和实验,工具需要知道应用级别(Layer 7)的东西。

\\

在这个时候,Andrus宣布了Gremlin的新应用级故障注入(ALFI)产品。ALFI支持“level 2”的实验。这是通过在系统中指定“坐标”并匹配针对一组目标运行的实验来实现的。坐标包括应用程序的关注点,例如用户标识符或A/B测试,以及平台的关注点,例如服务或地理区域。工程师还可以使用自定义实现来定义自己的坐标。

\\

在演讲结束时,Andrus总结说,有针对性的坐标可以用来最小化实验的潜在影响范围,并且可以在不干扰整个系统的情况下重现生产环境的中断。应该以迭代的方式安全地扩展实验:

\\

  1. 使用测试用户或设备验证用户体验;\\t
  2. 运行1%的流量,对影响进行评估;\\t
  3. 运行10%的流量;\\t
  4. 扩展到25%、50%、100%。\

也可以使用类似的模式来重现中断:

\\

  1. 发生中断时,请假设一个原因;\\t
  2. 创建一个针对单个测试用户的实验;\\t
  3. 以测试用户身份登录并加载页面或应用程序;\\t
  4. 找到日志或证据并验证假设;\\t
  5. 创建拉取请求以修复问题。\

有关首届ChaosConf的详细信息可以在大会网站上找到,演讲的录像可以在Gremlin的YouTube频道“ChaosConf 2018”中找到。

\\

查看英文原文:An Evolution of Chaos Experimentation: Kolton Andrus at ChaosConf 2018

ChaosConf 2018:混沌实验的演变相关推荐

  1. ChaosBlade 发布对 C++ 应用混沌实验的支持

    前言 为满足 C++ 应用系统故障演练,阿里妈妈安全生产团队开源了 C++ 混沌实验执行器,填补了 C++ 应用混沌工程实验的空白,其遵循<混沌实验模型>,可通过 ChaosBlade 工 ...

  2. 使用Grab的实验平台进行混沌实验编排

    背景 对每个用户来说,Grab是一个可以叫车,叫外卖或付款的一个APP.对工程师来说,Grab是一个有许多服务并通过RPC交互的分布式系统,有时也可以叫做微服务架构.在数千台服务器上运行的数百个服务每 ...

  3. 故障演练--使用 ChaosBlade 进行混沌实验

    目录 一.ChaosBlade 简介 二.部分 JVM 实验介绍 1.权限 2.JVM 实验准备 3.注入方法延时 4.修改方法返回值 5.抛出自定义异常 6.使用自定义脚本替换指定类方法的内容 7. ...

  4. 计算机等电教设备维修记录,2018年实验小学电教设备维修记录.doc

    WORD格式编辑整理 专业资料分享 电 教 设 备 维 修 记 录 天门市实验小学 电教设备集中检查记录 检查日期 地点 设备名称 故障现象 2018.8.28 二号楼班班通 二(2).二(3)主机 ...

  5. 小学计算机设备维修维护记录簿,2018年实验小学电教设备维修记录文本.doc

    专业资料精心整理 WORD文档下载可编辑 电 教 设 备 维 修 记 录 天门市实验小学 电教设备集中检查记录 检查日期 地点 设备名称 故障现象 2018.8.28 二号楼班班通 二(2).二(3) ...

  6. 字节跳动混沌工程实践之场景化主动实验

    背景 从 2010 年 Netflix 上线 Chaos Mokey 的第一个版本到现在,虽然混沌工程发展已历时十年,但其实只在少数大厂里面有较成熟的落地,对绝大部分研发同学来说,混沌工程还是一个比较 ...

  7. ChaosBlade:从混沌工程实验工具到混沌工程平台

    简介:ChaosBlade 是阿里巴巴 2019 年开源的混沌工程项目,已加入到 CNCF Sandbox 中.起初包含面向多环境.多语言的混沌工程实验工具 chaosblade,到现在发展到面向多集 ...

  8. 如何设计一个混沌工程实验?

    文章目录 1 什么是混沌工程? 2 为什么需要混沌工程? 3 混沌工程和测试有什么区别? 4 混沌工程的先决条件是什么? 4.1 先解决确定会导致问题的弱点 4.2 监控系统来确定系统的状态 5 混沌 ...

  9. idea中出现紫色_紫色测试和安全性实验中的混乱工程

    idea中出现紫色 我们使用技术构建产品和服务的方式正在不断发展,其发展速度难以理解. 遗憾的是,用于确保设计方法安全的主要方法是预防性的,这意味着我们正在无状态的世界中设计有状态的安全性. 我们设计 ...

最新文章

  1. vb 取得计算机名及目录
  2. java递归实现数组逆序_Java实现数组全排序(递归)
  3. 解密「天池」:如何做好一场万人AI竞赛的「大后方」?
  4. 关于ref 和 out 关键字【整理】
  5. Microsoft Visual Studio 2010 和 TFS 下载
  6. AlarmManager深入浅出
  7. 梯度下降(Gradient Descent),一句代码,一个式子
  8. 虚拟币交易平台开发_虚拟币软件开发未来发展的趋势怎么样?
  9. java 回归遍历_回归基础:代码遍历
  10. IDEA将项目打包为指定class文件的jar
  11. TCP数据报结构以及三次握手(图解)
  12. ecshop源码分析-ecshop二次开发
  13. 批量删除多个word文档中的页眉页脚
  14. 细胞制备流程图_体细胞核移植过程中,注入“供体细胞”还是“供体细胞核”?...
  15. 结巴分词 java_Java版结巴分词自定义词库
  16. iOS开发 动画(Animation)图片360度不停旋转
  17. 【Python】Python提取word表格,并保存在excel中
  18. c语言中文字模描点算法,点阵字模工具编程是怎么编的?
  19. 叶成-人员管理-机构管理
  20. 装饰器设计模式代码套路-咖啡加奶

热门文章

  1. 【用户行为即时分析查询】 数据仓库实现 案例分享
  2. so使用原则(要么不支持,要么全部支持) 固定的运行平台 指定目录:System.load(/data/data/package-name/mydir/libmath.so);
  3. Eclipse jar包打不进apk
  4. Android 自定义View,自定义属性--自定义圆形进度条(整理)
  5. 解决 from torch._C import *ImportError: DLL load failed: 找不到指定的程序。
  6. Redis 是属于多线程还是单线程?
  7. 性能测试—接口压测指标分析
  8. Notification大图标修改问题种种
  9. 多重for循环如何提速
  10. [BZOJ 2054]疯狂的馒头