-
Notifications
You must be signed in to change notification settings - Fork 108
DynamoDB
This application uses Amazon DynamoDB as the backend database supporting the REST API. DynamoDB is a great choice for serverless APIs, because it is feature-rich and delivers single-digit millisecond performance at any scale. The DynamoDB Developer Guide already includes an extensive best practices section, so this page will focus on specific best practices used by this application.
- Configure auto-scaling
- Enable encryption at rest
- Enable point-in-time recovery (PITR)
- Enable DynamoDB streams for async processing
While DynamoDB does allow manually passing provisioned throughput values, it is much preferred to setup autoscaling to scale up read/write throughput as traffic increases to maintain availability and scale down read/write throughput as traffic decreases to reduce cost. The simplest auto-scaling solution for DynamoDB is to enable on-demand billing mode. To learn more about DynamoDB read/write capacity options, see the DynamoDB Developer Guide.
Examples in this project:
DynamoDB's encryption at rest is a simple configuration option that allows you to build security-sensitive applications that meet strict encryption compliance and regulatory requirements. To learn more about DynamoDB encryption at rest, see the DynamoDB Developer Guide.
Examples in this project:
Point-in-time recovery helps protect your DynamoDB tables from accidental write or delete operations, allowing you to restore a table to any point in time during the last 35 days. To learn more about DynamoDB point-in-time recovery, see the DynamoDB Developer Guide.
Examples in this project:
DynamoDB streams allow you to asynchronously process table updates. This can be useful for many operations, for example, analytics data processing. To learn more about DynamoDB streams, see the DynamoDB Developer Guide.
Examples in this project: