
Explore how the AWS fire security model uses two IAM roles—console access and the fire service role—to assign permissions for experiments and resource actions like EC2 termination and RDS failover.
Break down the first experiment: given architecture across availability zones fronted by an auto scaling group, and the hypothesis that terminating an EC2 instance won’t affect the app.
Create a FIS experiment template in the fault injection service to terminate 50% of running EC2 instances in the auto scaling group, using tag and state filters for precise targeting.
Increase the auto scaling group to two and minimum capacity to two, terminate an instance, and spin up a new one, with the app running and no impact.
Explore a real life pet adoption application built as microservices on AWS, featuring EKS, EC2, Fargate, DynamoDB, S3, and Aurora with load balancers and auto scaling across zones.
Test the resilience of an ECS Fargate-based pay-for-adoption API by injecting I/O stress with AWS Fault Injection Service, verifying continued availability of the pet payment and adoption web app.
In today's fast-paced digital landscape, system resilience is vital for businesses of all sizes. "Chaos Engineering" is a comprehensive and hands-on course designed to equip you with the knowledge and skills needed to ensure your systems withstand and recover from failures. From foundational concepts to advanced applications on various AWS services, including EC2, Aurora, Fargate, and EKS, as well as strategies to ensure availability across multiple Availability Zones.
What You’ll Learn:
Chaos Engineering Fundamentals:
Understand core principles and the philosophy behind Chaos Engineering.
Learn why identifying and addressing system weaknesses through controlled chaos experiments is vital.
Explore essential tools and methodologies for implementing Chaos Engineering.
Building a Basic Fault Injection Simulation (FIS) Experiment:
Gain a step-by-step understanding of constructing and executing your first Fault Injection Simulation (FIS) experiment.
Understand how to design experiments targeting different failure modes in a controlled setting.
Learn to interpret experiment results and refine your simulations for better accuracy.
Introduction to Real-Life Application:
Discover how to apply Chaos Engineering experiments to real-world applications.
Learn best practices for monitoring, capturing metrics, and analyzing results to continually improve system resilience.
Chaos Engineering on Compute - EC2:
Conduct chaos experiments on EC2 instances to evaluate and improve system robustness.
Simulate failures, such as instance termination or network latency, and observe impacts.
Chaos Engineering on Database - Aurora:
Learn to apply Chaos Engineering principles to Amazon Aurora databases.
Simulate failures like cluster instability or node outages and develop strategies for seamless recovery.
Chaos Engineering on Serverless - Fargate:
Conduct chaos experiments on AWS Fargate to test the resilience of your serverless applications.
Simulate events like task failures or service downtime to ensure robust serverless architectures.
Chaos Engineering on Kubernetes - EKS:
Implement Chaos Engineering on Amazon EKS to stress-test Kubernetes clusters.
Simulate pod failures, node crashes, and other disruptions to validate recovery mechanisms.
Chaos Engineering on Availability Zone:
Conduct chaos experiments across different AWS Availability Zones.
Test the impact of zone failures and ensure your systems are prepared for multi-availability zone disasters.
This course, with its combination of theory, demonstrations, and real-world scenarios, will enable you to build resilient systems capable of withstanding and recovering from unexpected failures efficiently. Join us to master Chaos Engineering and innovate with confidence.