Question

Difficulty: EasyCost-Optimized Database Design and Capacity Planning

An e-commerce startup is launching a temporary promotional microservice that expects highly unpredictable, bursty traffic with long periods of zero activity. The development team wants to deploy a relational database and a non-relational database to support this microservice while minimizing costs. Which TWO of the following configurations are the most cost-effective database capacity choices for these workloads? (Select TWO.)

  1. Amazon DynamoDB configured with on-demand capacity mode for the non-relational databaseAnswer
  2. Amazon Aurora Serverless v2 for the relational database to scale capacity automatically based on database usageAnswer
  3. C
    Amazon DynamoDB configured with provisioned capacity mode and a high baseline to absorb sudden traffic bursts
  4. D
    Amazon RDS for PostgreSQL with a Read Replica configured as the destination for automatic application failover during outages
  5. E
    Amazon DynamoDB configured with provisioned capacity mode and Auto Scaling enabled to scale up from zero activity

Answer

Amazon DynamoDB configured with on-demand capacity mode for the non-relational database, and Amazon Aurora Serverless v2 for the relational database to scale capacity automatically based on database usage.
For highly unpredictable workloads with long periods of zero activity, serverless options provide the best cost optimization. Amazon DynamoDB on-demand capacity mode eliminates the need to estimate throughput and does not charge for read/write capacity when there is no traffic. Amazon Aurora Serverless v2 dynamically scales capacity units in response to active database usage, minimizing costs during idle periods compared to running provisioned DB instances.

Step-by-Step Solution

1
Analyze the workload characteristics and requirements.
The microservice has highly unpredictable, bursty traffic with long periods of zero activity, and requires both relational and non-relational databases.
Identifying the workload profile is necessary to choose the correct database capacity and scaling modes.
2
Evaluate the capacity options for the non-relational database.
Amazon DynamoDB on-demand capacity mode charges only for active read/write requests and has zero cost when idle.
Provisioned capacity mode (even with auto-scaling) incurs continuous baseline charges and cannot scale to zero, making it inefficient for this workload.
3
Evaluate the capacity options for the relational database.
Amazon Aurora Serverless v2 automatically scales capacity dynamically based on demand to reduce costs during low-use periods.
Provisioned RDS instances with read replicas maintain active compute instances that charge continuously, even during idle hours.

Key Concept

Selecting serverless capacity modes (DynamoDB On-Demand and Aurora Serverless) is the most cost-effective approach for highly unpredictable, bursty database workloads with periods of zero activity.
Rate this question