Refactoring Monolith to Microservices with ECS
Short answer
C Run the application on Amazon Elastic Container Service (Amazon ECS) as microservices with service auto scaling.
Question
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?
Is EC2 Spot Instance suitable for this workload?
Community Votes
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
-
Typewriter101 👍 1 Answered CB will not help spot instances provide cost savings but using it for a stateful task isn't right cause spot instances can be interrupted
-
asdfcdsxdfc 👍 1 Answered CMicroservices using Elastic Container Service is correct
-
MatAlves 👍 1 Answered CMonolith -> Microservices = ECS.
-
Andy_09 👍 10Microservices using ECS
-
Hung23 👍 3 Answered CSure 100%
Show 1 more comment
-
Indrasis 👍 1 Answered CC is correct
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →