DynamoDB On Demand Provisioned Cost Optimization

0

Customer reached out looking for options to cut their monthly Dynamo spend. Majority of their spend is WriteRequestUnits and I recommended (if it fit with their usage patterns) consider provisioned capacity, enable auto-scaling, then consider a capacity reservation.

Customer feels that their workload is too unpredictable and they have varying throughput needs so provisioned might be more expensive than on-demand.

What guidance can we provide customers for cost savings using on-demand capacity?

They mentioned deleting PITR for non-critical tables, possibly using AWS Backup to story last 2-3 days of data vs PITR which saves 30 days of data but that seems to be limited in terms of savings.

Thanks!

질문됨 3년 전1214회 조회
1개 답변
0
수락된 답변

Provisioned capacity mode is an option when you have predictable application traffic and you use the autoscaling to adjust the capacity in response to changing traffic. However you will get throttled if the request rate exceeds the provisioned capacity. Note that it is very unlikely to operate at 100% utilization of the provisioned capacity to be cost efficient. You can use the ReturnConsumedCapacity parametercin the request to see in the response exactly how much capacity the operation consumed.

Given that the customer has unpredictable request pattern, the On-Demand capacity mode will be more appropriate. And note that a newly created table with On-Demand capacity mode can serve up to 4000 write request units or 12000 read request units or a combination of the two. With On-Demand capacity mode, the requests can burst up to double the previous peak on the table. Note that throttling can occur if the requests exceed double the previous peak within 30 mins. It may be possible that the traffic rate may be different and if your spikes are too high (more than double) than the default capacity or the previously achieved peak request rate, then one solution is to go with pre-warming the tables to the expected peak capacity as per the spike you anticipate.

Pre-warming the table can be achieved by following steps when you currently on On-Demand capacity mode.

  1. Switch to Provisioned Capacity Mode
  2. Wait for 24 hours(You can switch between the capacity modes once every 24 hours)
  3. Set the Write throughput to the desired peak value or 40000. [ You will incur cost of this high value of throughput until you switch back to On-Demand (few mins) ]
  4. Switch to On-Demand capacity mode. This should sustain the provisioned throughput capacity values.

Here is a blog that describes how one of our customer was able to achieve a 90% cost saving by opting for On-Demand capacity mode and they too had a spiky workload.

AWS
답변함 3년 전
profile picture
전문가
검토됨 8일 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠