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

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

关注

评论

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

7000+字图文并茂解带你深入理解java锁升级的每个细节

华为云开发者联盟

Java 开发 华为云

中文版Postman?功能真心强大!

Liam

Java 开发者工具 Postman 后端开发 程序员进阶

一文读懂简单查询代价估算

华为云开发者联盟

数据库 后端 查询引擎

【刷题记录】1. 两数之和

WangNing

7月月更

不要再手动批量替换了,使用python AST模块批量替换

阿呆

Python AST 批量替换

使用 RepositoryProvider简化父子组件的传值

岛上码农

flutter ios 安卓 移动端开发 7月月更

场景化面试:关于分布式锁的十问十答

面试官问

分布式锁

从 1.5 开始搭建一个微服务框架——调用链追踪 traceId

悟空聊架构

日志 链路追踪 traceId 悟空聊架构 7月月更

刷个算法,结果第一题就蚌埠住了~~

为自己带盐

算法 力扣 7月月更

小程序容器可以发挥的价值

Geek_99967b

小程序 小程序容器

python 函数二三事

AIWeker

Python python小知识 7月月更

让开发效率飞速提升的跨端方案

Geek_99967b

小程序 跨端 小程序容器

Java方向~~0基础小白如何快速脱离0offer的苦海!

KEY.L

7月月更

国内低代码开发平台靠谱的都有哪些?

AIRIOT

低代码 物联网 低代码,项目开发

Ubuntu 20.04 安装 Chisel

贾献华

7月月更

MMAP

北洋

Andriod 7月月更

如何组织一场实战攻防演练

穿过生命散发芬芳

攻防演练 7月月更

开创人工智能产业新未来!7月8日昇思生态论坛与你相约广州

科技热闻

AI金榜题名时,MLPerf榜单的份量究竟有多重?

脑极体

Spring你牛个啥,我承认刚才说话我声音有点大

zxhtom

7月月更

分布式算法入门之 Paxos 算法

宇宙之一粟

Basic paxos 7月月更

鱼和熊掌可以兼得!天翼云弹性裸金属一招鲜!

天翼云开发者社区

服务器 弹性扩容

【愚公系列】2022年7月 Go教学课程 004-Go代码注释

愚公搬代码

7月月更

systemd-resolved 开启 debug 日志

程序员与厨子

ubuntu 运维 DNS systemd-resolved

华为云ModelArts文本分类–外卖评论

逝缘~

深度学习 华为云 7月月更

集合处理的利器

技术小生

java8 7月月更

XaaS 陷阱:万物皆服务(可能)并不是IT真正需要的东西

雨果

云服务 xaas DaaS 本地服务

牛客java选择题每日打卡Day7

京与旧铺

7月月更

微服务链路风险分析

阿泽🧸

7月月更 链路风险分析

如何开发引入小程序插件

Geek_99967b

小程序插件

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