The project uses AWS managed services to build the complete infrastructure:
Compute Layer: ECS Fargate provides a serverless container runtime environment. The API service is configured with 2 tasks (512 CPU / 1GB memory), and the Worker service supports auto-scaling between 1-10 tasks.
Queue System: SQS standard queues are used for task distribution, with a Dead Letter Queue (DLQ) to implement a three-time retry mechanism for failed tasks. Long polling mode (30-second visibility timeout) ensures efficient use of Workers.
Data Storage: DynamoDB uses the on-demand billing mode (PAY_PER_REQUEST), with a 24-hour TTL to automatically clean up completed tasks, eliminating the need for capacity planning.
Load Balancing: An Application Load Balancer (ALB) distributes traffic to the API service, supporting health checks and automatic failover.
Auto-Scaling: Ladder-style scaling (1→3→6→10) is triggered based on CloudWatch queue depth alarms, with faster response than traditional percentage-based scaling strategies.