QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

ChaosConf 2018:混沌实验的演变

  • 2018-10-14
  • 本文字数:1130 字

    阅读完需:约 4 分钟

在美国旧金山举行的首届 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. 使用测试用户或设备验证用户体验;
  2. 运行 1%的流量,对影响进行评估;
  3. 运行 10%的流量;
  4. 扩展到 25%、50%、100%。

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

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

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

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

2018-10-14 19:001213
用户头像

发布了 731 篇内容, 共 454.9 次阅读, 收获喜欢 2003 次。

关注

评论

发布
暂无评论
发现更多内容

刷Github时发现了一本阿里大神的算法笔记!标星70.5K

Java架构师迁哥

这套JVM核心知识你要全都会,月薪还不过18K可以直接跳槽了

小Q

Java 学习 架构 面试 JVM

不要拿区块链做挡箭牌

CECBC

区块链

拒招中国程序员后,开源平台 GitLab 又开始大规模封杀开发者账户

Java架构师迁哥

React Fiber 是什么?

局外人

react.js 大前端 React

SQL数据库:子查询和关联子查询

正向成长

SQL子查询 SQL关联查询

#不吐不快# IT职场里的奇葩经历

InfoQ写作社区官方

职场搞笑 奇葩的经历 热门活动

数字货币钱包开发费用,区块链钱包开发优势

13530558032

云算力挖矿模式系统开发,云算力平台搭建

13530558032

那个小白还没搞懂内存溢出,只能用案例说给他听了

田维常

内存溢出

anyRTC AI降噪|让声音更清晰

anyRTC开发者

人工智能 AI 音视频 WebRTC RTC

【乘风破浪的开发者】丁一超:从AI实战营出发探索未知的AI世界

华为云开发者联盟

华为 AI modelarts

亿级大表分库分表实战总结(万字干货,实战复盘)

学习 编程 架构 计算机网络

“3+3”看华为云FusionInsight如何引领“数据新基建”持续发展

华为云开发者联盟

数据库 新基建 华为云

「Spring Boot 2.4 新特性」一键构建Docker镜像

AI乔治

Java Docker 架构

数字货币助力支付体系高效运行

CECBC

金融

程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹

Java架构师迁哥

多线程问的太深入不知道怎么回答,从volatile开始给你讲清楚

小Q

Java 学习 面试 volatile 多线程

关于linux操作系统中的buff/cache

程序员架构进阶

Linux cache buffer

数字货币交易所功能,场外OTC交易所开发公司

13530558032

覆盖全网的阿里微服务架构有多牛:K8S+实战+笔记+项目教程

Java~~~

Java 程序员 微服务 Spring Cloud 阿里云 K8S

《精通lambda表达式:Java多核编程》.pdf

田维常

Lambda

SQL数据库:CASE表达式

正向成长

CASE表达式

USDT币支付系统开发搭建,区块链承兑商支付平台

13530558032

牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。

Java架构之路

Java 程序员 架构 面试 编程语言

干货!直观地解释和可视化每个复杂的DataFrame操作

计算机与AI

Python pandas 数据处理

报告显示国际区块链监管呈三大趋势

CECBC

区块链 货币 监管

遥感影像处理有高招,“专治”各类花式并发的述求!

华为云开发者联盟

容器 k8s 遥感

从红黑树的本质出发,彻底理解红黑树!

996小迁

Java 架构 面试 程序人生

MySQL全面瓦解—子查询和组合查询

比伯

Java 编程 程序员 架构 计算机

Alibaba首发的《Java技术成长笔记》,渴望提升自己的程序员的必备宝典!

Java架构之路

Java 程序员 架构 面试 编程语言

ChaosConf 2018:混沌实验的演变_服务革新_Daniel Bryant_InfoQ精选文章