AWS Certified Solutions Architect – Associate (SAA-C03) — Question 361
A company has migrated an application to Amazon EC2 Linux instances. One of these EC2 instances runs several 1-hour tasks on a schedule. These tasks were written by different teams and have no common programming language. The company is concerned about performance and scalability while these tasks run on a single instance. A solutions architect needs to implement a solution to resolve these concerns.
Which solution will meet these requirements with the LEAST operational overhead?
Answer options
- A. Use AWS Batch to run the tasks as jobs. Schedule the jobs by using Amazon EventBridge (Amazon CloudWatch Events).
- B. Convert the EC2 instance to a container. Use AWS App Runner to create the container on demand to run the tasks as jobs.
- C. Copy the tasks into AWS Lambda functions. Schedule the Lambda functions by using Amazon EventBridge (Amazon CloudWatch Events).
- D. Create an Amazon Machine Image (AMI) of the EC2 instance that runs the tasks. Create an Auto Scaling group with the AMI to run multiple copies of the instance.
Correct answer: A
Explanation
AWS Batch is designed to efficiently run batch computing workloads of any scale, supporting jobs written in any language packaged as containers, making it the ideal choice with the least operational overhead. AWS Lambda is unsuitable here because its maximum execution timeout is 15 minutes, whereas these tasks require 1 hour. AWS App Runner is geared towards web applications rather than scheduled batch jobs, and scaling EC2 instances horizontally via an Auto Scaling group introduces high operational overhead and complexity.