Another little bit from work. I've been working on a project that has chosen to use Amazon's NoSQL solution DynamoDB for a specific use case.

The thing is, whilst DynamoDB provides a nice highly distributed solution, you have to configure it based on what sort throughput you require for read and write operations. This is done through calling the Amazon API.

You can update these settings at anytime, but there is no way, within AWS itself to automatically do this when you're perhaps having a surge in your requirements.

Amazon themselves advise people to use an independently developed tool called Dynamic DynamoDB written by Sebastian Dahlgren.

At work we use Puppet for configuration management, so obviously I was hoping to find something on Github already that could deploy Dynamic DynamoDB for me, however, sadly it was not to be, so I ended up writing up my own module which you can grab from my personal fork on Github here.

Currently the module only support Debian/Ubuntu. At the minimum you need to enable the scaling features when calling the module.

class { "dynamicdynamodb": 
    tables => [ {"mytable" => {enable_reads_autoscaling => "true",
                               enable_writes_autoscaling => "true" } 


comments powered by Disqus