A company developing a mobile application wishes to process image uploads by users to provide real-time feedback on image quality. The application experiences unpredictable spikes in use, typically during events and social campaigns, leading to highly variable demand on the backend image processing system. Which service should be used to handle the image processing in the most cost-effective and scalable way?
AWS Batch to manage image processing jobs in the cloud
AWS Lambda for triggering image processing functions in response to upload events
AWS Fargate to run the containerized image processing application without managing underlying servers
Amazon EC2 Autoscaling group to scale image processing servers based on demand