A company has a web application running on an EC2 instance that experiences variable loads, with occasional unpredictable surges in traffic. The application's compute layer must adapt to these changing demands to maintain performance while optimizing costs. Which of the following solutions would best address the company's need?
Increase the size of the EC2 instance to accommodate the highest anticipated traffic surge.
Place the EC2 instance behind an Application Load Balancer without enabling Auto Scaling.
Deploy an additional EC2 instance configured the same as the current one to handle the extra load.
Implement Auto Scaling with a mix of On-Demand and Spot Instances to dynamically adjust capacity.