Autoscale DynamoDB with Dynamic DynamoDB

Preview:

DESCRIPTION

 

Citation preview

Auto scale DynamoDB with

Dynamic DynamoDB

Sebastian Dahlgren!@sebdah

Project overviewThroughput metrics via CloudWatch

Supports auto scaling oftables & global secondary indexes

Live for about a year

>10.000 monthly downloads

Open source

Background

Auto scaling is important!- Saves money- Saves your skin

No auto scaling in DynamoDB

Basic config example

Configuration• [global]  

o AWS credentials o Check interval o Circuit breaker • [logging]  

o Logging settings o Supports external logging config • [table:  my_table]  

o Rules for scaling a certain table o Maintenance windows • [gsi:  my_gsi  table:  my_table]  

o Rules for scaling Global Secondary Indexes

Handling many tables or dynamic table names

• Table list refreshed for every iteration o Addition of new tables o Removal of old tables

• Use regular expressions in your configuration

[table:  ^daily_data.*$]

Scaling down• DynamoDB limits down scaling to 4 times per UTC

day • Optimize downscaling by using

o reads-­‐lower-­‐threshold

o writes-­‐lower-­‐threshold

o always-­‐decrease-­‐rw-­‐together

o maintenance-­‐windows

SNS notifications

• Get an email when your provisioning is updated

• Currently supports: o scale-up o scale-down

Circuit breaker

• Dynamic DynamoDB can poll an URL to check system health

• All scaling is paused if the URL does not return HTTP 200  OK

CloudFormation template• Launches a t1.micro

instance (<$15/mo) • Auto Scaling Group

min: 1, max: 1 • Running Dynamic

DynamoDB in daemon mode • Configuration on S3

TadaaImage publishing service

Thank you!

sebdah / dynamic-dynamodb

Recommended