Coder Social home page Coder Social logo

Comments (6)

tmitchel2 avatar tmitchel2 commented on July 20, 2024

This is interesting, storing the simple part of that config in something like S3 or dynamodb is definitely something which I would like to make easier, especially table specific config.

In your case I suggest you try and store all your config against one key. I do something similar on another project by having a Settings table and each key is the app name.

So I've actually already spent a bit of time refactoring the code to allow you to do this. It's not complete yet but will be in the coming days. Essentially a new function where you have to return the config based on a parameter containing table data. That then gets passed to the existing functions as a new parameter.

Out of curiosity how would you be changing the settings post table?

from dynamodb-lambda-autoscale.

mcinteer avatar mcinteer commented on July 20, 2024

I think that for my tables with lower provisioned throughput (<50) I would want an adjustment percentage of 100% or more. But the tables that have a high level of throughput ( >500) I would want to have an adjustment percentage of 50-80% I think. This would be so that I don't increase the cost too much unnecessarily.

I'd also like to set different min/max throughput per table. Some tables might have no reason to have large through put and if they do then I've got a bug somewhere. So limiting the scaling would add one guard against spending excessive money on dynamo tables.

from dynamodb-lambda-autoscale.

tmitchel2 avatar tmitchel2 commented on July 20, 2024

Explicit support for different config per table is coming very soon, please see #13 for an example of what the config will look like.

from dynamodb-lambda-autoscale.

tmitchel2 avatar tmitchel2 commented on July 20, 2024

Ok so I've pushed my latest to github. The changes are quite extensive because i wanted to cater for most needs whilst keeping the codebase fairly simple. Table level config is baked in now. Please take a look at https://github.com/channl/dynamodb-lambda-autoscale/blob/master/src/Provisioner.js and the getTableConfig function. At the moment it just returns a standard configuration.

The new provisioner configuration now supports different forms of increments / decrements without altering code. You can increment by certain unit or percentage amounts, but more importantly you can increment / decrement 'to' a unit or percentage amount. Which means you can increment immediately up to the required value rather than progressively 'climb' up.

Please take a quick look, as i mentioned i've not been able to test or document this extensively just yet but i wanted to get it out there....

from dynamodb-lambda-autoscale.

mjaverto avatar mjaverto commented on July 20, 2024

@tmitchel2 I just found this project last night and must say I'm very happy to see this VS dynamic dynamo's approach to this issue. #12 was actually a huge limitation from us using this library so nice work. I plan on testing this weekend and will offer feedback.

from dynamodb-lambda-autoscale.

mcinteer avatar mcinteer commented on July 20, 2024

Excellent, I've pulled your latest changes and can see exactly how to create config per table. I have found another problem which has me a little stumped but will open another issue.

I can now do what I wanted from this issue, so I'll close it. Thanks again!

from dynamodb-lambda-autoscale.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.