A company runs a web application on EC2 instances behind an Application Load Balancer. Users report intermittent slowdowns. CloudWatch metrics show high CPU utilization on the instances. The company wants to improve performance with minimal architectural changes. What should a solutions architect do?
Auto Scaling adds instances during high demand, distributing load and reducing CPU per instance.
Why this answer
Auto Scaling with a dynamic scaling policy based on CPU utilization automatically adds or removes EC2 instances in response to load, handling spikes without manual intervention. This is a minimal architectural change. Option A is wrong because ElastiCache offloads database queries, but the high CPU may be from compute-intensive operations, not database.
Option C is wrong because vertical scaling (larger instances) has an upper limit and may require downtime during resizing. Option D is wrong because CloudFront caches static content at the edge, but it does not reduce CPU load from dynamic requests or compute processing on the instances.