Which steps will allow for more flexibility during peak times, while still remaining cost-effective?
(Choose two.)
Increase the backend T2 EC2 instance sizes to x1 to handle the largest possible load throughout the year.
Implement an Amazon SQS queue to decouple the front-end and backend servers.
Use an Amazon SNS queue to decouple the front-end and backend servers.
Migrate the backend servers to on-premises and pull from an Amazon SNS queue.
Modify the backend servers to pull from an Amazon SQS queue.
Explanations:
Increasing the instance size to handle peak loads is not cost-effective, as it means paying for higher capacity year-round even when it’s not needed. This approach does not provide flexibility to handle fluctuating demand.
Implementing an Amazon SQS queue decouples the front-end and backend servers, allowing the backend to process orders asynchronously. This provides flexibility during peak times, as requests can be queued and processed when resources are available, preventing overload.
Amazon SNS is primarily used for pub/sub messaging, not for decoupling the front-end and backend servers in a way that allows for load buffering. It does not provide the queuing mechanism necessary to manage order processing during peak loads effectively.
Migrating backend servers to on-premises infrastructure does not address the scalability and flexibility needed for handling peak loads. It can also introduce additional costs and management complexities without solving the problem of overloaded servers.
Modifying the backend servers to pull from an Amazon SQS queue allows for better load management. This setup enables the backend to retrieve messages (orders) from the queue as it can handle them, thus improving overall reliability and flexibility during peak times.