写点什么

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:322067

评论

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

思维导图网页制作!这8个常用软件不容错过。

彭宏豪95

效率工具 思维导图 在线白板 办公软件 思维导图软件

移动设备控制LED屏:无线技术与智能操作

Dylan

技术 电脑 设备 LED LED显示屏

Cloud Kernel SIG 月度动态:ANCK 全面首次支持龙芯架构、海光四号处理器,以及适配兆芯等最新进展

OpenAnolis小助手

操作系统 内核 龙蜥社区 龙蜥sig

npm,registry,镜像源,npm切换源,yarn,cnpm,taobao,nrs

CoderBin

npm 镜像源 Node 切换镜像源 npm镜像源

C++ 解引用与函数基础:内存地址、调用方法及声明

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

一款自研Python解释器

芯动大师

企业架构设计原则之业务导向性

凌晞

企业架构 架构设计 架构设计原则

浪潮信息-龙蜥技术认证上线!实战培训 10 个名额,限量报名

OpenAnolis小助手

开源 操作系统 龙蜥社区

AI+BI,欢迎数据分析进入大模型时代

中关村科金

大模型 智能决策

​比特币 NFT 繁荣生态:深入了解 Runestone

NFT Research

NFT NFT\

深入剖析JVM的OOM | 内存溢出如何影响JVM运行及应对策略

码界西柚

Java 性能优化 JVM 内存优化

酷睿Ultra下一代预览,Lunar Lake有惊人的100TOPS

E科讯

企业架构设计原则之避免单行道

凌晞

企业架构 架构设计 架构设计原则

@开发者,龙蜥社区邀您参加 2024 OceanBase 开发者大会

OpenAnolis小助手

开源 操作系统 OceanBase 开源 开发者大会

Anolis OS 23.1 Alpha2 预览版:内核配置升级与软件选型新进展

OpenAnolis小助手

开源 操作系统 龙蜥操作系统

高性能网络SIG月度动态:virtio 动态中断调节优化、多项内核网络缺陷修复

OpenAnolis小助手

操作系统 高性能网络 龙蜥社区SIG

倒计时4天!百度Create AI开发者大会“大模型与深度学习技术”论坛亮点抢鲜看!

百度安全

龙蜥社区及开发者分获 2024 OS2ATC“最具影响力开源创新贡献和开源创新先锋”奖

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

放心使用!龙蜥全系产品均不受 XZ 后门影响

OpenAnolis小助手

操作系统 漏洞 龙蜥社区 龙蜥操作系统

4 月15-18 日,龙蜥社区与你相约北美开源峰会

OpenAnolis小助手

开源 操作系统 EROFS 北美开源峰会

Amazon Q:对话智能赋能企业发展

亚马逊云科技 (Amazon Web Services)

#人工智能

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