SOA-C02 Question 322
Single answerYour organization runs a batch processing application on an Amazon EC2 instance. Performance metrics from Amazon CloudWatch show that the CPU utilization consistently peaks at 90-95% during processing times, while memory usage remains stable at 60%. The application is not optimized for multi-threading. You have been tasked with recommending a solution to improve performance without incurring significant additional costs. What would you recommend?
- A
Upgrade the instance to a larger instance type within the same family.
- B
Switch to a compute-optimized instance type.
- C
Use Auto Scaling to add more instances during peak times.
- D
Enable Elastic Load Balancing to distribute traffic across multiple instances.
Show answer and explanation
Correct answer: A
Explanation
The performance metrics indicate that the application is CPU-bound but does not utilize multi-threading or require memory-intensive resources. Upgrading to a larger instance within the same family provides more CPU capacity to handle the workload without requiring architectural changes or incurring unnecessary costs. Other options, such as compute-optimized instances, Auto Scaling, or Elastic Load Balancing, are either not suited to the application’s design or would result in additional costs without directly addressing the issue.
- A. Correct.
Upgrading the instance to a larger instance type within the same family will provide additional CPU capacity while maintaining the same architecture, making it a cost-effective solution for the high CPU utilization issue.
- B. Incorrect.
Switching to a compute-optimized instance type may not be ideal since the application is not optimized for multi-threading, and a larger general-purpose instance would better address the CPU bottleneck.
- C. Incorrect.
Using Auto Scaling to add more instances is unnecessary for this single-instance batch processing application, as it would not improve performance without revising the application design.
- D. Incorrect.
Enabling Elastic Load Balancing would not help in this scenario because the application runs on a single instance and is not designed to handle distributed workloads.