DynamoDB Local vs mountebank
DynamoDB Local
docs.aws.amazon.commountebank
mbtest.devSide by side
| Figure | DynamoDB Local | mountebank |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Service Virtualization Software | 8.0 (#11) | 7.6 (#15) |
| Purpose | DynamoDB Local lets developers develop and test applications without accessing the DynamoDB web service. | mountebank provides cross-platform, multi-protocol test doubles over the wire for testing applications in place of real dependencies. |
Plans
In their own words
DynamoDB Local
DynamoDB Local lets developers develop and test applications without accessing the DynamoDB web service. It can run without an internet connection, and AWS says local use can help avoid throughput, storage and data-transfer fees. Developers can obtain it as a download, Apache Maven dependency or Docker image, and AWS documents use with the AWS CLI, AWS SDKs, Docker Compose, Maven and AWS CloudShell. Data can persist in a local database file or remain in memory, where it is lost when DynamoDB Local stops. The downloadable version requires configured credentials, though AWS says they need not be valid AWS credentials for local access. AWS identifies v3.x as current and recommends it for local testing and development; v2.x is legacy and v1.x is deprecated. Running v2.6.0 or later requires JRE 17.x or newer. Telemetry can be disabled with a command-line option or environment settings. DynamoDB Local does not support point-in-time recovery, tagging or vector indexes; it also lacks parallel scans, ignores provisioned throughput settings and treats table names as case insensitive. AWS describes it as a development and testing tool, not a production service.
mountebank
mountebank is a free, self-hosted service-virtualization tool that supplies test doubles instead of real application dependencies. Through its HTTP API, developers configure stubs, record and replay proxies, and verify mock expectations. HTTP, HTTPS, TCP, and SMTP are built in; community plugins add LDAP, WebSockets, GraphQL, SNMP, Telnet, SSH, and NETCONF. Installation documentation covers npm and Docker. Community extensions list client libraries for C#, Clojure, Go, Java, JavaScript, Python, Ruby, TypeScript, and Swift, along with Grunt, Gradle, and Maven plugins. Stateful simulation, fault injection, and record-and-replay are supported. By default, mountebank stores everything in memory, which its site says can become a performance bottleneck at scale. Security guidance warns that JavaScript injection can permit code execution on the machine and recommends localhost-only access or an IP whitelist. CORS is disabled by default, and safe origins can be enabled explicitly.