NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

一次讲清楚京东科技百亿级用户画像平台的探索和实践 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 用户画像 用户画像平台

手把手带你离线部署Walrus,体验极简应用交付

SEAL安全

应用交付 应用交付平台 12 月 PK 榜 Walrus

Socket网络通信过程 与 IO多路复用原理。

百度搜索:蓝易云

云计算 Linux 运维 socket 云服务器

服务器集群技术有哪几种类型

Geek_f19a80

服务器

iOS代码混淆工具

雪奈椰子

优化开发者体验,推动API测试行业发展,SmartBear收购API设计和文档领域领导者Stoplight

龙智—DevSecOps解决方案

API

重磅签约!美团携手用友推进数智化升级

用友BIP

企业数智化

Dapp燃烧铸币模式系统开发丨智能合约技术开发

l8l259l3365

原来低代码开发部署起来这么简单

伤感汤姆布利柏

前端 低代码 低代码开发

一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题

【高效视频处理】体验火山引擎多媒体处理框架 BMF

Y-starrydreamer

BMF

MYSQL EXPLAIN 执行计划 | 京东物流技术团队

京东科技开发者

MySQL 数据库 EXPLAIN EXPLAIN执行计划

给 Web 前端工程师看的用 Rust 开发 wasm 组件实战 | 京东云技术团队

京东科技开发者

rust 前端 webassembly 前端组件

深度探索E3PO:360° 视频传输平台的前沿技术与应用

Y-starrydreamer

E3PO

Amazon CodeWhisperer 正式发布可免费供个人使用

亚马逊云科技 (Amazon Web Services)

人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

HarmonyOS振动效果开发指导

HarmonyOS开发者

HarmonyOS

关于Nuxt.js 服务端组件的使用

秃头小帅oi

【FAQ】运动健康服务端侧数据常见问题及解答

HMS Core

HMS Core

Wireshark中的ICMP协议包分析

小魏写代码

07 | 链表(下):如何轻松写出正确的链表代码?

鲁米

2024深圳电子展,加快粤港澳电子信息发展,重点打造湾区经济

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

对标世界一流!用友已与74家中央企业达成集团级合作!

用友BIP

08 | 栈:如何实现浏览器的前进和后退功能

鲁米

DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队

京东科技开发者

架构 DDD 软件设计 curd

如何通过追踪用户旅程,找到流失用户

Footprint Analytics

区块链游戏 Web 3.0

京东面试:说说Cookie、Session和Token的区别?

王磊

Java 面试

如何实现高效代码审查,赋能大规模开发

龙智—DevSecOps解决方案

代码审查

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨PaddlePaddle

人工智能 AIGC

紫龙游戏解锁Jira与Perforce的游戏开发行业实践

龙智—DevSecOps解决方案

紫龙游戏

走进厦航,体验智能会计时代的业财融合

用友BIP

智能会计 业财融合

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

华为云开发者联盟

鸿蒙 操作系统 华为云 HarmonyOS 华为云开发者联盟

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