AWS Certified Solutions Architect - Associate / Question #1388 of 1019

Question #1388

A company operates an application on Amazon EC2 Linux instances that execute nightly batch jobs lasting up to two hours. These jobs are developed in multiple programming languages without a common framework. The company wants to improve scalability and ensure these jobs run efficiently without increasing management complexity. Which solution meets these requirements with the LEAST operational overhead?

A

Use AWS Batch to manage the jobs and schedule them via Amazon EventBridge (Amazon CloudWatch Events).

B

Containerize each job and deploy using AWS Fargate with scheduled tasks.

C

Migrate the jobs to AWS Lambda functions triggered by Amazon EventBridge schedules.

D

Configure an Auto Scaling group to adjust the number of EC2 instances based on CloudWatch alarms.

Explanation

Answer A is correct because:
- AWS Batch dynamically provisions resources (EC2/Spot Instances) based on job requirements, ensuring scalability without manual intervention.
- Amazon EventBridge schedules nightly jobs reliably, aligning with the batch window.
- AWS Batch is language-agnostic, requiring only jobs to be executable (via containers/scripts), fitting the multi-language environment.

Other options:
- B (Fargate): Requires containerization, adding development effort, and Fargate may cost more for long-running tasks.
- C (Lambda): Lambda's 15-minute runtime limit makes it unsuitable for 2-hour jobs.
- D (Auto Scaling): Manual scaling policies and instance management increase operational complexity.

Key Points: AWS Batch + EventBridge minimizes management effort, handles long-running jobs, and supports diverse languages.

Answer

The correct answer is: A