This tutorial uses real AWS resources and may incur charges. Clean up your environment after completion to avoid unexpected costs.
1. Pet Adoption Web Microservice
- Compute: Runs on an Amazon EKS cluster backed by two EC2 worker nodes.
- High Availability: EC2 instances are distributed across two separate Availability Zones.
- Traffic Distribution: Incoming web traffic is routed through an Application Load Balancer (ALB).
- Scalability: The EC2 nodes are managed by an Auto Scaling group that scales out based on CPU and network utilization.
2. Pet Search API Microservice
- Compute: Deployed in an Amazon ECS cluster on two EC2 instances.
- High Availability: Instances run across two Availability Zones for fault tolerance.
- Traffic Distribution: An ALB fronts the ECS service to balance search requests.
- Scalability: The ECS cluster uses an Auto Scaling group to adjust capacity dynamically.
- Data Storage:
- Amazon DynamoDB stores pet metadata (name, price, availability).
- Amazon S3 hosts pet images, enabling efficient content delivery.
3. Pet Payment API Microservice
- Compute: Leverages AWS Fargate to run two serverless containers.
- High Availability: Fargate tasks are spread across multiple Availability Zones and balanced by an ALB.
- Scalability: Task counts adjust automatically via AWS Application Auto Scaling.
- API Integration:
- Amazon API Gateway receives payment requests.
- AWS Lambda functions validate the request, fetch pet details from DynamoDB, and process images from S3.
- Database:
- Amazon Aurora PostgreSQL handles transactional data with a Multi-AZ configuration (one writer, one reader) for automatic failover.

Links and References
- AWS Workshop Studio
- Amazon EKS Documentation
- Amazon ECS Documentation
- AWS Fargate Documentation
- AWS FIS Documentation