Auto Scaling DynamoDB Tables

DynamoDB Auto Scaling automatically scales up or down provisioned read and write capacity of a DynamoDB table or a global secondary index, as application requests increase or decrease.

There are no additional cost to using Auto Scaling, beyond what you already pay for DynamoDB and CloudWatch alarms.

Auto Scaling Benefits:

  1. Eliminates the guesswork involved in provisioning adequate capacity when creating new tables

  2. Reduces the operational burden of continuously monitoring consumed throughput

  3. helps ensure application availability and reduces costs from unused provisioned capacity.

 

Enable / Disable Auto scaling

  1. When you create a new table, leave the 'Use default settings' option checked to enable it.

  2. If you uncheck 'Use default settings', you can either set provisioned capacity manually or enable Auto Scaling with custom values for target utilization and minimum and maximum capacity.

    1. The default value for Target Utilization is 70% (allowed range is 20% - 80% in one percent increments), minimum capacity is 1 unit and maximum capacity is the table limit for your account in the region.

  3. For existing tables, you can change existing Auto Scaling settings in the 'Capacity' tab, and for indexes, under the 'Indexes' tab.

  4. Auto Scaling can also be programmatically managed using CLI or AWS SDK.

 

Auto scaling Limitations

  1. Auto Scaling policy can only be set to a single table or a global secondary indexes within a single region. Cannot enable a single Auto Scaling policy across multiple tables in multiple regions.

  2. Cannot force an Auto Scaling policy to scale up to maximum capacity or scale down to minimum capacity instantly. Instead, you can temporarily disable Auto Scaling, set desired capacity  for required duration, and re-enable Auto Scaling later.

 

Important Notes on Autoscaling (Exam Tips)

  1. When you create an Auto Scaling policy for a table, CloudWatch alarms are created with thresholds for target utilization.

  2. If actual utilization deviates, the CloudWatch alarms activates Auto Scaling, which uses UpdateTable API to increase (or decrease) the table's provisioned throughput.

  3. Can monitor status of scaling actions triggered by Auto Scaling in the management console and from CloudWatch graphs (under the 'Metrics' tab).

  4. Auto Scaling works with reserved capacity in the same manner as manually provisioned throughput. Reserved Capacity is applied to the total provisioned capacity for the region.

  5. Capacity provisioned by Auto Scaling will consume the reserved capacity first, billed at discounted prices, and any excess capacity will be charged at standard rates. To limit total consumption to the reserved capacity, distribute maximum capacity limit across all tables with Auto Scaling enabled.

Learn Serverless from Serverless Programming Cookbook

Contact

Please first use the contact form or facebook page messaging to connect.

Offline Contact
We currently connect locally for discussions and sessions at Bangalore, India. Please follow us on our facebook page for details.
WhatsApp (Primary): (+91) 7411174113
Phone (Escalations): (+91) 7411174114

Business newsletter

Complete the form below, and we'll send you an e-mail every now and again with all the latest news.

About

CloudMaterials is my blog to share notes and learning materials on Cloud and Data Analytics. My current focus is on Microsoft Azure and Amazon Web Services (AWS).

I like to write and I try to document what I learn to share with others. I believe that knowledge is useless unless you share it; the more you share, the more you learn.

Recent comments

Photo Stream