写点什么

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:001322
用户头像

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

关注

评论

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

Redis源码之常用数据结构和函数

心平气和

redis

年轻人的世界

boyzcl

年轻人 系列

关于CodeReview的一些思考

Yezhiwei

Redis学习笔记(基础命令)

编程随想曲

redis

婚姻就是合伙开公司,各自做好自己的工作很重要

鼎玉谷

管理 婚姻 公司 付出 人情

如何对Code Review的评论进行分级

宝玉

代码审查 Code Review

习惯与惯性

伯薇

个人成长 习惯 习惯养成 提升能力

系统的伸缩性以及扩展性设计

Janenesome

读书笔记 程序员 架构

对你来说,阅读是另一种生活的方式吗?

叶小鍵

重新认识Go语言中的slice

麻瓜镇

Go 语言

详解iOS性能优化,安装包瘦身

Usama Bin Laden

ios 源码分析 性能优化 性能 原理

信仰

小天同学

人生 个人成长 思考 读书感悟 信仰

赚钱的6个层次

品牌运营|陆晓明

创业 技术人 赚钱思维 层次 商机

关于沟通成本的一些认知

Geek_reg5m9

项目管理 软件开发

Hello World !

ATGU:阿宝哥

Java Hello World ! Info

[读书随笔]从哲学上的问题分类看TDD

老狗

哲学 TDD

瞎琢磨先生の常用的 linux 命令

瞎琢磨先生

Linux Shell

技术人赚钱的9个路线

品牌运营|陆晓明

副业 赚钱 技术人 码农 生财有术

在今天种下一棵树

陈医僧Ethan

感悟 育儿

我也曾对架构师的力量一无所知

曲水流觞TechRill

瞎琢磨先生の好物推荐(软件/网站)

瞎琢磨先生

新人工作的时候遇到问题怎么办

波波

学习 编程 职场 新人

JAVA小抄-000-初始

NoNoGirl

Java

如何利用数据异构实现多级缓存或者数据迁移

松花皮蛋me

缓存 分布式 分库分表

金融「中台」十宗罪

FinClip

中台 企业中台 业务中台

UITableView 手势延迟导致subview无法完成两次绘制

AlienJunX

开通InfoQ写作平台测试

ytl

关于「后浪」,ta 们在说什么?

boyzcl

年轻人 系列 后浪

基于vue(element ui) + ssm + shiro 的权限框架

吴邪

准备重读测试驱动开发

escray

学习 CSD 认证实战营

读懂才会用 : Redis的多线程

小眼睛聊技术

Java redis 学习 程序员 编程语言 后端

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