fakecloud vs DynamoDB Local

How fakecloud compares to DynamoDB Local. Same DynamoDB behavior, plus cross-service triggers, Lambda execution, and the 22 other AWS services around it.

DynamoDB Local is AWS's official local DynamoDB: a downloadable JAR (or Docker image) that runs DynamoDB for offline development. Good at what it does.

fakecloud is a broader tool that happens to include DynamoDB.

When to pick DynamoDB Local

DynamoDB Local is focused and battle-tested. For pure DynamoDB tests, nothing wrong with it.

When to pick fakecloud

Feature-level comparison

fakecloudDynamoDB Local
DynamoDB operations57Full (100%)
DynamoDB StreamsYesYes
PartiQLYesYes
TransactionsYesYes
Global tablesYesYes (limited)
Lambda consumes Streams (real)YesNo (no Lambda service)
S3 writes trigger DynamoDB updates via LambdaYesNo
Other AWS services available22 moreNone
RuntimeSingle Rust binary (~19 MB)Java JAR or Docker image
Startup~500ms~2s
Install size~19 MB~60 MB JAR + JVM

Same DynamoDB call works against both

import boto3
ddb = boto3.client('dynamodb', endpoint_url='http://localhost:4566')  # fakecloud
# OR
ddb = boto3.client('dynamodb', endpoint_url='http://localhost:8000')  # DynamoDB Local

If you already test against DynamoDB Local and need nothing more, no reason to switch. If you're expanding tests to cover downstream services, fakecloud replaces DynamoDB Local without requiring a second emulator process.