写点什么

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

评论

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

Apache Flink ML 2.0.0 发布公告

Apache Flink

大数据 flink 编程 实时计算

教程直播第7期|如何对 OceanBase 进行 SQL 诊断和调优

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版 OceanBase教程

初识MASA Blazor

MASA技术团队

C# .net 微软 后端 blazor

销量之王,去年程序员最爱看的技术书就是它!

博文视点Broadview

龙头整机厂商宝德加入,共建龙蜥社区开源新生态

OpenAnolis小助手

Linux 开源 合作伙伴

免费下载!FFA 系列专刊|《Flink CDC 新一代数据集成框架》电子书

Apache Flink

大数据 flink 编程 实时计算 IT

WorkPlus移动数字化平台赋能新型智慧城市建设

BeeWorks

低代码实现探索(二十六)移动端H5开发

零道云-混合式低代码平台

大数据开发之Flink + TiDB

@零度

flink 大数据开发

MyBatis的功能架构是怎样的

编程江湖

mybatis

HBase的 rowkey 设计原则

编程江湖

HBase 架构

有一群青年人,用热爱连接起科技与智慧生活的“双向奔赴”

最新动态

女生不适合当程序员?XTransfer这位程序员妈妈绝了!生娃半年内升职加薪

XTransfer技术

技术人 程序媛 XTransfer

Flink CDC 系列 - Flink MongoDB CDC 在 XTransfer 的生产实践

Apache Flink

大数据 flink 编程 实时计算 IT

Flink 大规模作业调度性能优化

Apache Flink

大数据 flink 编程 实时计算

从 Flink Forward Asia 2021,看 Flink 未来开启新篇章

Apache Flink

大数据 flink 编程 实时计算

netty系列之:可以自动通知执行结果的Future,有见过吗?

程序那些事

Java Netty 程序那些事

Redis OM .NET Redis对象映射框架

MASA技术团队

C# .net 微软 后端 redis'

针对 jQuery 的优化方法有哪些

编程江湖

足球、篮球、花样滑冰、乒乓球四大运动的动作识别通用方案开源了

百度大脑

人工智能

数据安全产品之堡垒机详细介绍-行云管家

行云管家

网络安全 防火墙 数据安全 堡垒机

🏆【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)

码界西柚

nacos 配置中心 Alibaba 1月日更 Apache alibaba

工商银行实时大数据平台建设历程及展望

Apache Flink

大数据 flink 编程 实时计算

使用APICloud AVM框架开发预约应用

YonBuilder低代码开发平台

前端框架 APP开发 APICloud 跨端开发 小程序开发

技术升级!国内公有云厂商首个支持保留消息功能

百度开发者中心

物联网

大咖集结,共创生态|AIOps社区专家团正式集结出道

云智慧AIOps社区

开源项目 开源社区 智能运维 开发者社区 社区治理

Pravega Flink Connector Table API 进阶功能探秘

Apache Flink

大数据 flink 编程 实时计算 Pravega

Alink、Tensorflow on Flink 在京东的应用

Apache Flink

大数据 flink 编程 实时计算 Alink

架构训练营 week6 作业

红莲疾风

「架构实战营」

mark: mac 开启chrome webrtc 日志

webrtc developer

chrome WebRTC

OpenMLDB在AKULAKU实时特征计算场景的应用

第四范式开发者社区

机器学习 大数据 OpenMLDB 特征平台

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