A company is migrating a large-scale batch processing system from on-premises to AWS. The system runs millions of short-lived jobs each day. The company wants to minimize operational overhead and cost. Which AWS compute service should the company use?
AWS Batch dynamically provisions optimal compute (Spot or On-Demand) for millions of short-lived jobs, queues and schedules them automatically, and scales to zero between runs. This removes cluster management overhead and cuts cost versus continuously running servers.
Why this answer
AWS Batch is specifically designed for batch computing workloads, handling millions of short-lived jobs efficiently by automatically provisioning compute resources and scaling based on job demand. It integrates with Spot Instances to reduce costs. Option A is wrong because EC2 with Spot Fleet requires manual management of instances and scaling, increasing operational overhead.
Option B is wrong because ECS with Fargate is optimized for containerized applications, but AWS Batch provides more specialized features for batch job scheduling and cost optimization. Option C is wrong because Lambda has a maximum execution timeout of 15 minutes and is intended for short, event-driven functions, not suitable for batch processing.