SAA-C03 Question 465
Single answerA company is running a monolithic application on a single Amazon EC2 instance that experiences unpredictable traffic spikes. The company wants to optimize compute utilization by decoupling the application into smaller components without managing infrastructure. What solution should the company implement?
- A
Use Amazon ECS with Fargate to containerize the application and deploy its components as microservices.
- B
Migrate the application to Amazon RDS to handle the traffic spikes with database scaling.
- C
Refactor the application into AWS Lambda functions and use Amazon API Gateway for routing between components.
- D
Deploy the application on an Auto Scaling group of Amazon EC2 instances with a load balancer.
Show answer and explanation
Correct answer: C
Explanation
The best solution is to refactor the application into AWS Lambda functions and use Amazon API Gateway for routing. This approach optimizes compute utilization by adopting a serverless architecture, which automatically scales with traffic and eliminates the need to manage infrastructure. It also enables the application to be decoupled into microservices, which aligns with the company's goal.
- A. Incorrect.
Using Amazon ECS with Fargate for containerization is a valid approach to optimize compute utilization, but it still involves managing the container orchestration environment. This does not fully achieve the goal of eliminating infrastructure management.
- B. Incorrect.
Migrating the application to Amazon RDS is not relevant since RDS is a managed database service, and the question focuses on decoupling a monolithic application and optimizing compute utilization.
- C. Correct.
Refactoring the application into AWS Lambda functions and using Amazon API Gateway effectively achieves the goal of decoupling the application into smaller components (microservices) while leveraging serverless computing to optimize compute utilization. This eliminates the need to manage infrastructure.
- D. Incorrect.
Deploying the application on an Auto Scaling group with a load balancer helps with handling traffic spikes but does not address decoupling the monolithic application into smaller components or eliminating infrastructure management.