写点什么

AWS 开源混沌工程工具 AWSSSMChaosRunner

  • 2020-09-30
  • 本文字数:1021 字

    阅读完需:约 3 分钟

AWS开源混沌工程工具AWSSSMChaosRunner

AWS 的工程师们最近写了一篇文章,介绍了一个叫作 AWSSSMChaosRunner 的开源混沌工程工具,他们用它来测试 Prime Video 的故障注入。这个工具使用 AWS Systems Manager 构建,可以在 EC2 实例上执行任意命令,团队可以用它缓解与延迟相关的问题。


AWSSSMChaosRunner 是使用 AWS Systems Manager 构建的,用于针对一组特定的 EC2 实例远程执行命令。通过声明方式指定的命令集合创建了一组注入错误。


Prime Video 软件工程师 Varun Jewalikar 和 AWS 首席开发者(架构)布道师 Adrian Hornsby 写道,典型的混沌工程实验包括模拟资源耗尽和缓慢的网络。对于这样的场景有一些对策,但“它们很少得到充分测试,因为单元测试或集成测试通常不能充分验证它们”。


AWS Systems Manager是一个工具,可以通过一个叫作SSM Agent的代理组件跨 AWS 资源执行各种运维任务。默认情况下,代理被预先安装在某些 Windows 和 Linux AMI 上——它们也有“文档”的概念,类似于可以执行的 Runbook。它还可以执行简单的 shell 脚本,AWSSSMChaosRunner 就是利用了这个特性。SSM 的 SendCommand API 允许跨多个实例执行命令,这些实例可以通过 AWS 标记来过滤。CloudWatch 可以用于在一个地方查看来自所有实例的日志。


安全方面的问题由代理负责,比如创建在 EC2 实例上执行的用户。AWSSSMChaosRunner 可以做的事情包括在一个特定端口上悄悄地中断所有传出的 TCP 流量、在一个接口上引入网络延迟、占用 CPU,等等。需要注意的是,当前支持的故障注入要么是在基础设施上,要么是在 AWS 服务层上。


AWSSSMChaosRunner 源自一组SSM文档,这些文档与将故障注入 AWS 资源有关。根据文中所写,在使用标准 SSM Agent API 执行文档之后,负载生成组件根据应用程序模拟真实的流量。AWSSSMChaosRunner 也可以用于 ECS,但不能用于 Lambda,因为后者是一个完全托管的服务。还有其他方法可以在 AWS Lambda 中进行故障注入。


Prime Video 背后使用了 AWS 服务,它利用 AWSSSMChaosRunner 来测试依赖服务出现高延迟时的性能。Jewalikar 和 Hornsby 提到,AWSSSMChaosRunner 助他们修复了 Elasticache 超时配置的一个 bug。


还有其他可用于执行混沌工程实验的库,早期的一个库是 Netflix 的Chaos Monkey。其他公司也开发了自己的框架,比如 LinkedIn 的Waterbear项目和 Twitter 的Python库Gremlin公司还提供了故障注入服务。


AWSSSMChaosRunner 的源代码可以在 GitHub 上找到。


原文链接


An Open Source Chaos Engineering Library from AWS


2020-09-30 10:321745

评论

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

江苏泰州具有资质等保公司叫什么?在哪里?

行云管家

等保 等级保护 等保测评 泰州

【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(2)

HarmonyOS SDK

HarmonyOS

CQ 社区版 2.12.3 | 任务中心、访问申请、数据变更等多个模块大改版!

BinTools图尔兹

sql 数据库管理 数据脱敏 用户提权 数据变更

智能推荐系统有哪些特点?

悦数图数据库

win版IDimager Photo Supreme 2024(图片管理软件)激活版

iMac小白

Epubor Ultimate Converter(电子书格式转换工具)注册版

iMac小白

一文教你基于LangChain和ChatGLM3搭建本地知识库问答

华为云开发者联盟

人工智能 华为云 华为云ModelArts 华为云开发者联盟 企业号2024年5月PK榜

win版Disk Sorter Pro / Ultimate / Enterprise (文件分析管理工具)特别版下载

iMac小白

精彩回顾|“AI+Security”之大模型&网络空间安全前沿探索

云起无垠

DDD领域驱动设计理论|得物技术

得物技术

架构 DDD 领域驱动设计DDD 领域模型 企业号 2024年5月 PK 榜

Databend 倒排索引的设计与实现

Databend

倒排索引

我们小公司,哪像华为一样,用得上IPD(集成产品开发)?

IPD产品研发管理

华为 产品 项目管理 产品研发

14个Flink SQL性能优化实践分享

华为云开发者联盟

sql flink 华为云 华为云开发者联盟 企业号2024年5月PK榜

在 2024 年如何启动一个 Node.js 项目

高端章鱼哥

win版MAGIX Samplitude Music Studio X8(音乐制作软件)特别版

iMac小白

行云堡垒-跨界融合,三大认证新高度!

行云管家

兼容 行云堡垒

智能LED显示屏能否进军电影行业?

Dylan

LED显示屏 led显示屏厂家 户内led显示屏

自主 AI Agent 的构建|Function Calling 技术实例探索

Baihai IDP

程序员 AI 智能体 企业号 5 月 PK 榜 LLMs

软件测试性能面试题丨简述 JMeter 聚合报告—霍格沃兹测试开发学社

测试人

软件测试 性能测试

求职思维和招聘思维

老张

面试 求职 求职技巧

GQL图查询语言:高效处理复杂图数据

悦数图数据库

图数据库

大模型效能工具之智能CommitMessage

百度Geek说

百度 大模型 企业号2024年5月PK榜

GPT-4 Turbo 与 GPT-4 有什么区别?

蓉蓉

openai GPT-4 GPT-4 Turbo

AWS开源混沌工程工具AWSSSMChaosRunner_服务革新_Hrishikesh Barua_InfoQ精选文章