DEV Community

vaibhavi_shah
vaibhavi_shah

Posted on

AWS Fault Injection Simulator

AWS Fault Injection Simulator is fully managed chaos engineering service used for improve application resiliency. It provides environment to safely performed controlled chaos engineering experiment on AWS. Today's Distributed system are to complex and it's hard to find if any fault occur and how to reduce the chances of the unwanted scenario happening in the first place.

Chaos engineering is the process of stressing an application by creating disruptive events. It's help to create the real-world conditions to uncover hidden issues,monitoring blind spots and performance bottlenecks.

How It Works?

  1. It starts with analyzing the steady-state behavior
  2. Building an experiment hypothesis
  3. Executing the experiment by injecting fault action and roll back condition.

Components:

-Action:

Actions are Fault injection actions executed during the experiment.

-Targets:

Define one or more AWS resources On which to carry out an action.

-Experiments Tempelates

Define complex experiments

-Experiments

Snapshot of experiments tempelates when firstly execute.

Experiments need to be configured into templates

  1. The IAM role needed to execute the experiment
  2. What action you are performing
  3. The services you are targeting with the experiment
  4. The stop condition, to halt the experiment at any point in time

Many action types do not require any agents to be installed in your resources. However, instance level faults including CPU utilization and memory utilization require SSM agent.

Example:

Web application hosted on ec2 instances with auto scaling group as seen into the architecture.We have AWS RDS database with the multi-AZ enabled as the backend of the application.

https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ktan4vuncanu355k2ipk.png

Following chaos experiment have been created using AWS FIS

  1. Check the resiliency of the RDS database
  2. Check to resiliency of EC2 instances
  3. Execute CPU stress using the AWS Systems Manager Send command.

Benefits Of FIS:

Fast and easy to use
Provides insights by generating real failure conditions
Provides visibility on application performance
Improve application Performance, Resiliency and Observability.

Reference:

https://aws.amazon.com/blogs/aws/aws-fault-injection-simulator-use-controlled-experiments-to-boost-resilience/

https://aws.amazon.com/blogs/devops/tag/aws-fault-injection-simulator/

https://aws.amazon.com/blogs/architecture/chaos-testing-with-aws-fault-injection-simulator-and-aws-codepipeline/

Top comments (0)