AWS Certified Solutions Architect – Associate (SAA-C03) — Question 679
A manufacturing company runs its report generation application on AWS. The application generates each report in about 20 minutes. The application is built as a monolith that runs on a single Amazon EC2 instance. The application requires frequent updates to its tightly coupled modules. The application becomes complex to maintain as the company adds new features.
Each time the company patches a software module, the application experiences downtime. Report generation must restart from the beginning after any interruptions. The company wants to redesign the application so that the application can be flexible, scalable, and gradually improved. The company wants to minimize application downtime.
Which solution will meet these requirements?
Answer options
- A. Run the application on AWS Lambda as a single function with maximum provisioned concurrency.
- B. Run the application on Amazon EC2 Spot Instances as microservices with a Spot Fleet default allocation strategy.
- C. Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling.
- D. Run the application on AWS Elastic Beanstalk as a single application environment with an all-at-once deployment strategy.
Correct answer: C
Explanation
Migrating the monolithic application to microservices on Amazon ECS enables independent scaling and rolling updates, which eliminates downtime during software patches. AWS Lambda is not viable because its maximum execution limit is 15 minutes, whereas these reports require 20 minutes to run. Using Spot Instances or an all-at-once deployment strategy on Elastic Beanstalk would introduce high interruption risks or guaranteed downtime, which fails to meet the requirement of continuous, uninterrupted report generation.