A logistics company is migrating its package tracking system and customer portal to AWS. The database tier has two main requirements:
1. A relational database to store package status updates, which must support high availability with a recovery time objective (RTO) of under seconds, while also handling heavy read traffic from customer queries.
2. A NoSQL session state store that experiences highly unpredictable, spiky traffic with sudden write bursts during peak holiday delivery seasons.
The company wants to minimize overall database costs while meeting all performance and availability requirements. Which of the following database configurations is the most cost-effective?
- Configure an Amazon RDS Multi-AZ DB Cluster with one primary and two readable standby DB instances for the tracking database, and use an Amazon DynamoDB table in On-Demand capacity mode for the session state store.Answer
- BConfigure an Amazon RDS Single-AZ DB instance with two Read Replicas for the tracking database, relying on the application to promote a replica if the primary fails, and use an Amazon DynamoDB table in On-Demand capacity mode for the session state store.
- CConfigure an Amazon RDS Multi-AZ DB Cluster with one primary and two readable standby DB instances for the tracking database, and use an Amazon DynamoDB table in Provisioned Capacity mode with high statically allocated write capacity for the session state store.
- DConfigure an Amazon RDS Multi-AZ DB Instance deployment with two separate Read Replicas for the tracking database, and use an Amazon DynamoDB table in Provisioned Capacity mode with target tracking auto-scaling for the session state store.
Answer
Configure an Amazon RDS Multi-AZ DB Cluster with one primary and two readable standby DB instances for the tracking database, and use an Amazon DynamoDB table in On-Demand capacity mode for the session state store.
The configuration using an Amazon RDS Multi-AZ DB Cluster and DynamoDB On-Demand is the most cost-effective. A Multi-AZ DB Cluster provides high availability with automatic failover (meeting the low RTO requirement) using three instances total (one primary and two standby instances). Because both standby instances are readable, they can serve customer read traffic, eliminating the need for additional read replicas and reducing instance count by 25% compared to a Multi-AZ instance plus replicas setup. For the session state store, DynamoDB in On-Demand capacity mode is ideal for spiky, unpredictable workloads because it automatically scales to handle sudden bursts and charges only for the requests made, preventing expensive over-provisioning.
Step-by-Step Solution
Key Concept
Cost-optimized database capacity planning and high-availability design