Your company's legacy monolithic application has been recently migrated to AWS. After monitoring through CloudWatch, you discover the CPU utilization never exceeds 40%, and the memory usage is consistently low, suggesting overprovisioning. The application is critical to the business and has predictable traffic patterns. As part of cost optimization efforts, what is your FIRST step in addressing this overprovisioning while ensuring application availability and performance?
Increase the instances count to handle potential spikes in traffic, leveraging auto-scaling based on utilization thresholds.
Conduct an analysis of the application's performance metrics to select an instance type that matches the utilization patterns.
Immediately migrate the application to a serverless architecture to minimize operational overhead and cost.
Reserve instances for the application in advance to benefit from cost savings regardless of the utilization.