How aws-samples/aws-fault-injection-simulator-workshop-v2 works
This repository is a fault-injection workshop built around a pet-adoption application: participants browse and search pets, view adoption status, and pay to adopt, while the deployed services expose failure and operational behavior for experiments. PetSite is the user-facing entry point; separate search, adoption-list, payment, and history services handle domain capabilities. CDK defines EKS/ECS applications and supporting services, while observability and FIS components provide monitoring and experiments. The README emphasizes workshop access and deployment; sampled code confirms selected service wiring, but not every deployment link or request path.
Main entry points: HomeController.cs PetSite · applications.ts Application deployment · SearchController.java Pet search · main.go Adoption list
Components 20
Adoption experience
- PetSite
PetAdoptions/petsite/petsite/Controllers/HomeController.cs
Domain services
- Pet search
PetAdoptions/petsearch-java/src/main/java/ca/petsearch/controllers/SearchController.java - Adoption list
PetAdoptions/petlistadoptions-go/main.go - Adoption payment
PetAdoptions/payforadoption-go/main.go - Adoption history
PetAdoptions/petadoptionshistory-py/petadoptionshistory.py - Pet catalog
- Adoption records
- Pet images
Workshop platform
- AWS configuration
PetAdoptions/petsite/petsite/SystemsManagerConfigurationProviderWithReload.cs - Application deployment
PetAdoptions/cdk/pet_stack/lib/applications.ts - Service deployment
PetAdoptions/cdk/pet_stack/lib/services.ts - EKS workloads
PetAdoptions/cdk/pet_stack/lib/applications/eks-application.ts - ECS services
PetAdoptions/cdk/pet_stack/lib/services/ecs-service.ts - Traffic generator
PetAdoptions/trafficgenerator/trafficgenerator/Program.cs - User simulations
PetAdoptions/cdk/pet_stack/resources/user_simulation
Operations and experiments
- Service observability
PetAdoptions/cdk/pet_stack/lib/observability.ts - Operational dashboards
PetAdoptions/cdk/pet_stack/lib/observability_dashboard.ts - Fault experiments
PetAdoptions/cdk/pet_stack/lib/fis_serverless.ts
Other components
- Participant
- AWS services
Connections 22
- Participant → PetSite: uses
- PetSite → Pet search: requests search
- Pet search → Pet catalog: scans catalog
- Pet search → Pet images: presigns image URLs
- Pet search → AWS services: reads parameters
- PetSite → Adoption list: requests adoption list
- PetSite → Adoption payment: submits payment
- PetSite → Adoption history: requests history
- Adoption list → Adoption records: reads records
- Adoption payment → Adoption records: updates records
- Adoption history → Adoption records: reads history
- PetSite → AWS configuration: loads configuration
- Application deployment → EKS workloads: deploys application
- Service deployment → ECS services: defines services
- Application deployment → Service deployment: composes services
- Traffic generator → PetSite: generates traffic
- User simulations → PetSite: simulates browsing
- Service observability → AWS services: publishes telemetry
- Operational dashboards → AWS services: reads metrics
- Fault experiments → AWS services: injects failures
- Application deployment → Service observability: deploys telemetry
- Application deployment → Fault experiments: enables experiments