Refactoring Monolith to Microservices with ECS

SAA-C03 By islever Editorial Last updated

Short answer

C Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling.

Question

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?
  1. Run the application on AWS Lambda as a single function with maximum provisioned concurrency.
  2. Run the application on Amazon EC2 Spot Instances as microservices with a Spot Fleet default allocation strategy.
  3. Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling. Correct Answer
  4. Run the application on AWS Elastic Beanstalk as a single application environment with an all-at-once deployment strategy.

Key Takeaways

The question tests the ability to transition from a monolithic architecture to loosely coupled microservices while ensuring high availability through container orchestration.

This page explains how to refactor a monolithic, tightly coupled application into scalable microservices using Amazon ECS to minimize downtime and improve maintainability.

Common mistake: Candidates often choose EC2 Spot Instances (B) because they are cost-effective, but this is incorrect for stateful or long-running processes like report generation due to interruption risks.

Expert Analysis

Why the Answer Is Correct

Option C is correct because it addresses all core requirements: scalability, flexibility, and minimal downtime. By refactoring the monolith into microservices, you decouple modules, allowing independent updates without full system restarts. Amazon ECS provides the necessary container orchestration to manage these microservices efficiently. Service auto-scaling ensures the application can handle varying loads, meeting the scalability requirement.

Why the Other Options Are Wrong

Option A (AWS Lambda) is unsuitable because Lambda has a maximum execution time of 15 minutes, which is insufficient for a 20-minute report generation process. Option B (EC2 Spot Instances) introduces unpredictability; Spot instances can be interrupted with short notice, causing data loss or incomplete reports for a stateful task. Option D (Elastic Beanstalk with all-at-once deployment) keeps the application as a single environment and deploys changes simultaneously, leading to downtime during updates, which contradicts the goal of minimizing downtime.

Community Comment Notes

The community consensus strongly supports Option C, with comments highlighting that moving from a monolith to microservices via ECS is the standard solution for this scenario. Users noted that Spot Instances are inappropriate for stateful tasks due to potential interruptions, reinforcing why B is incorrect. Multiple users confirmed that ECS allows for better management of tightly coupled modules by breaking them down into manageable services.

Exam Strategy

When asked to redesign a monolithic application for better maintainability and scalability, look for options that involve decomposing the application into microservices and using a managed container service like ECS or EKS. Avoid serverless options if the execution time exceeds their limits (e.g., >15 mins for Lambda).

Frequently Asked Questions

Why not use AWS Lambda for the report generation?

Lambda has a maximum execution timeout of 15 minutes. Since the report takes 20 minutes, Lambda cannot complete the task.

Is EC2 Spot Instance suitable for this workload?

No, Spot Instances can be interrupted with little notice. This makes them unsuitable for stateful, long-running tasks like report generation where interruption causes failure.

More SAA-C03 FAQ →

Community Votes

C
100%

100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 6 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 6

  1. Typewriter101 👍 1 Answered C
    B will not help spot instances provide cost savings but using it for a stateful task isn't right cause spot instances can be interrupted
  2. asdfcdsxdfc 👍 1 Answered C
    Microservices using Elastic Container Service is correct
  3. MatAlves 👍 1 Answered C
    Monolith -> Microservices = ECS.
  4. Andy_09 👍 10
    Microservices using ECS
  5. Hung23 👍 3 Answered C
    Sure 100%
Show 1 more comment
  1. Indrasis 👍 1 Answered C
    C is correct

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide