【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

评论

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

起点决定高度:ONES 如何践行软件标准化

万事ONES

ONES 软件工具 企业管理软件

大数据开发之Hive SQL内置函数

@零度

大数据 Hive SQL

CNCC 演讲实录| 焱融 YRCloudFile 在 AI 训练中的性能优化实践

焱融科技

云计算 AI 云原生 高性能 文件存储

Angular 变化检测详解

PingCode研发中心

angular

年末福利!专业级研发项目管理工具CORNERSTONE开源版正式上线!

优秀

项目管理工具

Linux之locate命令

入门小站

Linux

【转】Node进阶篇之基于 gRPC 协议的 Node 服务

@零度

前端开发 Node

年终招聘

张老蔫

28天写作

ONES 事记|ONES 参与信通院牵头编写的《DevOps 通用效能度量模型》

万事ONES

SaaS SaaS平台

Java的异常处理

海拥(haiyong.site)

28天写作 12月日更

星环科技大数据与人工智能应用研究与案例分享

星环科技

人工智能 大数据 数据分析 数据开发 技术专题合集

Python代码阅读(第72篇):回文

Felix

Python 编程 字符串 阅读代码 Python初学者

今天谈谈用户故事地图,不是用户故事

华为云开发者联盟

DevOps 敏捷 开发 用户故事 用户故事地图

如何快速搭建一个简单的固资管理系统

全象云低代码

开源 前端 低代码 资管系统 低代码平台

🍃【Spring专题】「技术原理」Spring Security的核心功能和加载运行流程的原理分析

洛神灬殇

spring spring security 框架搭建 12月日更

【CSS 学习总结】第七篇 - CSS 布局-居中布局-水平居中布局

Brave

CSS 12月日更

软件开发中的常见的15个定律和原则释义及应用

码语者

软件开发原则 软件开发定律

撬动百亿VRAR产业,让VR们“造”起来

华为云开发者联盟

AR vr 数字人 元宇宙 VR开发应用

ONES CTO 冯斌:如何在终身学习中跳出「恐慌区」

万事ONES

ONES

恒源云(GPUSHARE)_语音识别与语义处理领域之[机器翻译] 21.7 mRASP2

恒源云

深度学习 机器翻译 语音识别

如何使用ADLab搭建活动目录实验环境来练习渗透测试技术

H

网络安全 信息安全 计算机

OPPO大数据计算集群资源调度架构演进

安第斯智能云

大数据 后端

Shell脚本好学吗?看看这个带你了解shell中色彩处理和awk使用技巧

学神来啦

Linux Shell linux运维 awk linux云计算

Nocalhost:云原生开发新体验

CODING DevOps

云原生 Nocalhost

EasyAds:曾经自研的广告聚合SDK,如今在开源平台中唾手可得

EasyAds

sdk 聚合sdk 广告sdk 聚合广告sdk

在线JSON转JAVA工具

入门小站

工具

Kubernetes API server工作原理

Jerry Wang

Kubernetes k8s 28天写作 docker image 12月日更

架构实战营 4 期 - 第 3 周作业

周念

「架构实战营」

安全的IT自动化运维工具用什么好?可以节省时间吗?

行云管家

IT运维 自动化运维

Kubernetes容器平台架构之道

巨子嘉

云计算 Kubernetes 云原生

福建省等保测评机构有哪几个?机构名称叫什么?

行云管家

网络安全 等保 等级保护 等保测评

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