Q91 — AWS SAA-C03 Ch.11
Question 91 of 100 | ← Chapter 11
Q791. 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?
- 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. Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling.
Explanation
To meet the requirements of redesigning the report generation application to be flexible, scalable, and gradually improved, while minimizing application downtime, the solution is:C. Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling.Running the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling provides a flexible and scalable architecture for the application. By breaking the monolithic application into smaller microservices, the application becomes more modular and easier to maintain. Each microservice can be updated independently without affecting the entire application, reducing downtime during updates.Service auto scaling in Amazon ECS allows the application to automatically scale the number of running tasks based on demand. This ensures that the application can handle increased workload during report generation without interruptions or performance degradation. Auto scaling helps in achieving scalability and efficient resource utilization.Here's why the other options are not the best fit for the given requirements:A. Running the application on AWS Lambda as a single function with maximum provisioned concurrency: AWS Lambda is suitable for event-driven, short-lived functions. However, since the report generation takes around 20 minutes, it exceeds the maximum execution time limit of Lambda. Therefore, Lambda is not a suitable option for this particular use case.B. Running the application on Amazon EC2 Spot Instances as microservices with a Spot Fleet default allocation strategy: While using Spot Instances can provide cost savings, it may not be the best fit for minimizing application downtime. Spot Instances can be interrupted with short notice, leading to disruptions in report generation. This can result in longer downtime and restarts from the beginning.D. Running the application on AWS Elastic Beanstalk as a single application environment with an all-at-once deployment strategy: Elastic Beanstalk simplifies the deployment and management of applications. However, it does not inherently provide the flexibility and scalability required for a modular and gradually improved architecture. Additionally, using an all-at-once deployment strategy can result in downtime during updates.Therefore, the solution that meets the requirements of flexibility, scalability, gradual improvement, and minimizing application downtime is:C. Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling.