写点什么

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

评论

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

EasyRecovery2024最新版电脑数据恢复软件

茶色酒

EasyRecovery Photo16

深入理解 slab cache 内存分配全链路实现

bin的技术小屋

内存管理 Linux Kenel 内存池 slab

单点登录实现思路和方案

做梦都在改BUG

Java 单点登录

如何维护好TiDB的三颗仙丹——索引、SQL和IO

TiDB 社区干货传送门

数据库架构设计

浏览器管理脚本用什么软件?

真大的脸盆

Mac Mac 软件 脚本管理 管理脚本 浏览器脚本插件

电商广告营销中常见公式和优化手段

邴越

广告 营销 电商 信息流

软件测试/测试开发丨Pytest 测试框架学习笔记

测试人

软件测试 自动化测试 测试开发 pytest

扒去Spring事件监听机制的外衣,竟然是观察者模式

做梦都在改BUG

Java spring 设计模式 观察者模式 事件监听

2023年厦门等保二级备案办理流程

行云管家

等级保护 等保备案 厦门

企事业单位通用版招采系统(SRM),招采全过程闭环流程

金陵老街

TiDB 在 IPv6 的 K8S 和物理机环境的部署

TiDB 社区干货传送门

安装 & 部署 数据库架构选型 数据库前沿趋势

Tuxera NTFS2024Mac专业NTFS驱动软件

茶色酒

Tuxera NTFS2023

FL Studio2024最新中文版本水果编曲工具

茶色酒

FL Studio21

AntDB数据库受邀参加第六届上海人工智能大会,分享AIGC时代核心交易系统升级方案

亚信AntDB数据库

AntDB AntDB数据库 企业号 5 月 PK 榜

定档5.14 | 2023宿迁市网络安全大会暨第三届LINKUP+网络安全峰会开放报名中!

权说安全

无需nms,onnxruntime20行代码玩转RT-DETR

Openlab_cosmoplat

从集成工具到集成资产,企业数智化底座亟待升级

用友BIP

可观测性平台-数据洞察(2)-网站性能探究

Yestodorrow

前端 可观测性 网站性能

免费堡垒机选择开源还是商业免费版好?

行云管家

开源 堡垒机 安全运维 免费堡垒机

共享电单车的未来市场如何?值得做吗?

共享电单车厂家

共享电单车投放 本铯共享电动车 共享电动车生产厂家 共享电单车发展趋势

Spartacus cart id 存储在浏览器 local storage 里面

汪子熙

angular SAP Hybris Spartacus 三周年连更

MySQL 分区

潜水员

MySQL 分区

基于Java的ES全文检索,Neo4J,activiti审批流的知识库管理系统

金陵老街

Java Vue ES

工赋开发者社区 | 装备制造企业数字化转型总体框架

工赋开发者社区

传感器接线方式详解

鸿蒙之旅

OpenHarmony 三周年连更

如何在Github参与开源项目的建设

骑牛上青山

GitHub 开源 PR

群星闪耀,众志成城 | 2023年4月《中国数据库行业分析报告》精彩抢先看

墨天轮

数据库 云原生 opengauss 国产数据库 AI4DB

Prompt 技巧指南-让 ChatGPT 回答准确十倍!

Zilliz

openai ChatGPT

Reactive响应式编程系列:解密reactor-netty如何实现响应式

大步流星

Reactive响应式编程系列 reactor-netty reactor-netty原理

软件开发全文档获取(精华版)

金陵老街

ShareSDK Facebook平台注册指南

MobTech袤博科技

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