You are an AWS Solutions Architect working with a client who is launching a new e-commerce application. The application is expected to scale during peak shopping periods (e.g., Black Friday or Cyber Monday). The client wants a scalable, highly available, and fault-tolerant architecture for their application while ensuring cost-efficiency.
Which of the following architectural designs would BEST meet the client’s requirements?
Correct Answer: D
Explanation:
The correct choice is Option D because:
- Serverless Scalability:
AWS Lambda and API Gateway scale automatically in response to demand, ensuring that the e-commerce application can handle sudden traffic spikes efficiently without manual intervention. - Fault Tolerance:
AWS Lambda runs across multiple Availability Zones automatically, offering built-in fault tolerance. - Cost-Efficiency:
Serverless solutions incur costs only when used, unlike traditional EC2 instances, which run 24/7 regardless of demand. - AWS DynamoDB for Session Management:
DynamoDB is serverless, scalable, and supports highly available storage for session state without requiring database server management.
Why Other Options Are Incorrect
Option A:
This approach relies on a single EC2 instance within a single AZ, which creates a single point of failure. If the instance or AZ fails, the application will go down. Additionally, vertical scaling alone doesn’t address the ability to handle unpredictable traffic spikes efficiently.
Option B:
Although this option uses multiple EC2 instances with Auto Scaling and ALB for high availability and fault tolerance, it may be more expensive compared to serverless alternatives during periods of low usage. While effective, serverless is often simpler to implement and more cost-effective.
Option C:
This option uses only a single EC2 instance in a single AZ, which lacks redundancy and fault tolerance. Additionally, manual scaling isn’t efficient during unexpected demand spikes and is costly, as the instance runs regardless of demand.
Correct Answer: D
Explanation:
The correct choice is Option D because:
- Serverless Scalability:
AWS Lambda and API Gateway scale automatically in response to demand, ensuring that the e-commerce application can handle sudden traffic spikes efficiently without manual intervention. - Fault Tolerance:
AWS Lambda runs across multiple Availability Zones automatically, offering built-in fault tolerance. - Cost-Efficiency:
Serverless solutions incur costs only when used, unlike traditional EC2 instances, which run 24/7 regardless of demand. - AWS DynamoDB for Session Management:
DynamoDB is serverless, scalable, and supports highly available storage for session state without requiring database server management.
Why Other Options Are Incorrect
Option A:
This approach relies on a single EC2 instance within a single AZ, which creates a single point of failure. If the instance or AZ fails, the application will go down. Additionally, vertical scaling alone doesn’t address the ability to handle unpredictable traffic spikes efficiently.
Option B:
Although this option uses multiple EC2 instances with Auto Scaling and ALB for high availability and fault tolerance, it may be more expensive compared to serverless alternatives during periods of low usage. While effective, serverless is often simpler to implement and more cost-effective.
Option C:
This option uses only a single EC2 instance in a single AZ, which lacks redundancy and fault tolerance. Additionally, manual scaling isn’t efficient during unexpected demand spikes and is costly, as the instance runs regardless of demand.