-
Notifications
You must be signed in to change notification settings - Fork 19
Table should autoscale #31
Comments
See also hashicorp/terraform-provider-aws#919 which looks like it will track the PR to address this in Terraform. |
Getting close: hashicorp/terraform-provider-aws#1650 |
As part of #48 I tried forcing Table autoscaling on behind the scenes to see what the experience is like. Turns out it's still not great at all, especially for bursty workloads. Interesting post highlight some of the issues (similar to what I saw) - https://hackernoon.com/the-problems-with-dynamodb-auto-scaling-and-how-it-might-be-improved-a92029c8c10b. We should likely still enable it, as it at least means that sufficiently backed-off retires can eventually succeed, but it does really get in the way of a true serverless experience. |
On-demand is now available, which should likely be the default. |
The AWS Tabe implementation used DynamoDB with an opauqe and not-configurable fixed provisioning. This has been probematic for several reasons: 1. It does not scale with load 2. It incurs a fixed cost even when not used 3. It would require AWS-specific provisioning hooks to expose control With the recent release of On Demand billing mode for DynamoDB, we can now avoid all three problems by setting Table to On Demand provisioning which will scale with demand (including to zero). We may in the future allow AWS-specific options to override this, but this makes much more sense as the default for this library. Note that the change from Provisioned to On Demand does not require replacement of the Table, it can be updated in place. The update itself does take ~5minutes to complete, but it otherwise non-disruptive to use of the Table. Fixes #31.
The AWS Tabe implementation used DynamoDB with an opauqe and not-configurable fixed provisioning. This has been probematic for several reasons: 1. It does not scale with load 2. It incurs a fixed cost even when not used 3. It would require AWS-specific provisioning hooks to expose control With the recent release of On Demand billing mode for DynamoDB, we can now avoid all three problems by setting Table to On Demand provisioning which will scale with demand (including to zero). We may in the future allow AWS-specific options to override this, but this makes much more sense as the default for this library. Note that the change from Provisioned to On Demand does not require replacement of the Table, it can be updated in place. The update itself does take ~5minutes to complete, but it otherwise non-disruptive to use of the Table. Fixes #31.
We should use DynamoDB autoscaling to allow Dynamo tables to scale in and out based on actual usage.
Unfortunately it is not yet supported in Terraform: hashicorp/terraform-provider-aws#888
The text was updated successfully, but these errors were encountered: