Cost Control for AWS Resources: On-Demand Capacity for DynamoDB

Considerations for Using On-Demand Capacity for DynamoDB

Prev Question Next Question

Question

You work for an AWS consulting company and are required to provide cost control for a customer's AWS resources.

This customer has owned various applications which have used over 100 DynamoDB tables.

For the below cases, which ones should you consider using On-Demand capacity for DynamoDB? Select 3.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Correct Answer - A, B, E.

Amazon DynamoDB On-Demand has no capacity planning and a pay-per-request pricing model.

You only pay for what you use, making it easy to balance costs and performance.

Option A is CORRECT: Because DynamoDB on-demand is useful if the application traffic is difficult to predict and control.

Option B is CORRECT: Same reason as.

Option A.Option C is incorrect: Because if the traffic is stable, it is better to use Provisioned capacity.

Option D is incorrect: Because as the traffic is predictable, a Provisioned capacity with Auto Scaling can be considered.

Option E is CORRECT: Because DynamoDB on-demand is using a pay per request model and fits into this pricing model of the serverless stacks.

When it comes to cost control for a customer's AWS resources, it's important to consider DynamoDB capacity usage. DynamoDB is a NoSQL database service provided by AWS that offers On-Demand capacity and Provisioned capacity modes. The On-Demand mode offers a pay-per-request pricing model while Provisioned capacity mode provides a pre-paid model where capacity is reserved for the customer's application.

To decide which mode to use for DynamoDB, several factors should be considered. Here are the explanations for each answer choice:

A. New applications whose DynamoDB database workload is very complex to forecast.

For new applications, it can be difficult to forecast the workload on the database. In this case, On-Demand capacity may be the better option, as it allows the customer to pay for only what they use. This way, they can avoid over-provisioning their database and paying for unused capacity.

B. An application has large spikes sometimes, however with very short duration.

Applications that experience occasional large spikes in traffic but for a very short duration of time can benefit from On-Demand capacity as well. This way, the customer only pays for the spikes when they occur, rather than provisioning capacity that remains unused most of the time.

C. A long term monitor program that has stable read/write traffic for a DynamoDB table.

For a long-term monitor program that has a stable read/write traffic, it may be more cost-effective to use Provisioned capacity mode. This way, the customer can reserve capacity for the expected traffic, and not pay for unused capacity.

D. The read/write throughput for a DynamoDB database is quite steady on weekdays and getting a 20% increase in weekends.

In this scenario, the customer can also benefit from using Provisioned capacity mode. By reserving the capacity for the steady weekday traffic, they can avoid paying for unused capacity. Meanwhile, they can use DynamoDB's auto-scaling feature to handle the 20% increase in traffic during the weekends.

E. An application with serverless stacks with pay-per-use pricing model.

Applications with serverless stacks, such as AWS Lambda, can also benefit from using On-Demand capacity mode. In this case, the customer only pays for the capacity that is used by the Lambda functions when they execute. This can lead to cost savings, especially when the Lambda functions are not executing frequently.

In summary, for cases where the workload on DynamoDB is unpredictable or sporadic, using On-Demand capacity mode is recommended. Meanwhile, for cases where the workload is more predictable and stable, using Provisioned capacity mode is more cost-effective.