· via dev.to (home feed)
Awesome Cloud Emulators curates local testing tools for AWS, Azure, GCP and more
A curated GitHub list gathers local emulators for AWS, Azure, Google Cloud, Cloudflare and European providers, plus tooling to run them in tests and clear guidance on their limits.

A curated answer to shared cloud accounts
A new open-source project called Awesome Cloud Emulators collects local emulators and supporting tooling for cloud services, giving developers a way to exercise cloud-dependent code on their own machines instead of through a shared cloud account. The list was introduced in a post on dev.to on October 2, 2026, in which its author frames it as a way to discover what exists, see what each tool actually covers, and match a tool to the job at hand.
The friction it targets
The introductory post opens with a scenario many teams will recognise: an engineer needs a cloud account to verify a change while a colleague is already using it; someone edits a shared resource, a test breaks, and the afternoon goes into working out whether the breakage comes from the code or the environment. Resources left provisioned between runs keep adding to the bill.
According to the post, emulators ease this by reproducing selected cloud service APIs locally. Depending on the tool, one runs as a container, a standalone server, or an in-process dependency inside tests, giving each developer or CI job an isolated environment with its own state. There is a cost angle as well — less repeated provisioning, fewer idle resources, fewer billable service calls — though the author cautions that savings depend on the workload, since local compute, maintenance and software licensing are not free.
What the list contains
Coverage spans AWS, Microsoft Azure, Google Cloud and Firebase, Oracle Cloud, Cloudflare, Snowflake, multi-provider tools, and European cloud providers, with broader suites kept separate from single-service emulators. Representative entries include:
- Moto for AWS API mocking, ElasticMQ for SQS-compatible messaging, and S3Mock for a subset of S3 operations
- Azurite for local Azure storage, plus an Azure Key Vault emulator for client testing
- The Firebase Local Emulator Suite, Fake GCS Server and the Spanner Emulator for Google Cloud and Firebase
- Miniflare, which simulates Cloudflare Workers and its supported storage bindings
- Feint, which emulates APIs from the European providers Scaleway, Outscale and Exoscale
Every entry links to upstream documentation, and the repository adds a selection guide with shortlists keyed to common scenarios, a comparison across entries, and an evaluation checklist.
The supporting tools
An emulator alone is not a workflow — it still needs to be started, wired to the application, seeded with data and torn down. The repository also catalogues helpers: Testcontainers integrations for driving emulator containers from tests; AWS SAM CLI, Azure Functions Core Tools and Serverless Devs for running functions locally; Toxiproxy for adding latency and dropped connections between application and emulator; Moto Recorder, which captures requests so they can be replayed when rebuilding a test baseline; and CRIU, DMTCP and container checkpointing utilities for snapshot-and-restore experiments.
The post stresses that these roles differ: a local function runner does not emulate the services a function calls, and replaying recorded requests is not the same as restoring a process's memory.
How to choose, and where emulation stops
The recommended first step is to write down the workflow needing validation — say, an application writes an object, publishes a message, and a worker consumes it — then check whether an emulator supports those exact API operations, works with the SDK or IaC provider version in use, allows isolated state per test, supports setup, reset and teardown, and can exercise failure paths.
Two caveats stand out. For infrastructure-as-code, accepting a resource definition is not the same as running the resulting workload; a simulation may acknowledge a create request without standing up a usable VM, database or network. And passing locally establishes neither full service parity nor production behaviour: identity and permissions, networking, quotas, consistency and managed-service behaviour can all differ. The author's position is that local testing buys a faster feedback loop, while guarantees the application depends on still need targeted tests in a controlled cloud environment.
Licensing and contributions
Open-source tools are listed first within each section, ahead of other distributions and commercial products; commercial entries appear for comparison, not endorsement. The list distinguishes paid commercial terms from vendor-specific conditions, and the author advises checking upstream licences regardless. Contributions are invited via issues and pull requests, with the guide asking contributors to cite upstream evidence, note limitations and disclose affiliations.
Why it matters
Emulators for individual services have existed for years, but discovery has been fragmented — most teams know one or two, often a storage emulator, and stop there. By consolidating options across major and regional providers, being explicit about what each tool does and does not implement, and pairing them with lifecycle and fault-injection tooling, Awesome Cloud Emulators makes it practical to move part of the development and CI loop off shared accounts and away from metered resources. Just as valuable is the honesty about limits: treating local emulation as an accelerator alongside real-cloud validation, rather than a replacement for it, is what determines whether the approach helps a team or misleads it.
- #cloud
- #testing
- #local-development
- #open-source
- #devtools