← Back
upgundecha

upgundecha/awesome-cloud-emulators

A curated list of cloud emulators and local cloud development tools for AWS, Azure, and Google Cloud. Explore Moto, Azurite, LocalStack, Firebase, and more for integration testing and CI/CD.

View on GitHub ↗https://github.com/upgundecha/awesome-cloud-emulators ↗
awesomeawesome-listawsazureazuriteci-cdcloud-emulationcloud-emulatorcloud-engineeringdeveloper-toolsdevopsgcpgoogle-cloudiacinfrastructure-as-codeintegration-testinglocal-developmentmoto-servertest-environmentstestcontainers
Stars
45
Forks
5
Watchers
45
Open issues
1
Contributors
4
Language
JavaScript
License
Creative Commons Zero v1.0 Universal
Default branch
main
Created Sep 28, 2026Updated Oct 1, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

Awesome Cloud Emulators Awesome

Cloud emulators reproduce selected cloud service APIs and behavior for local development and automated testing.

Discover emulators and cloud-specific test doubles for AWS, Microsoft Azure, and Google Cloud (GCP). Build repeatable integration tests and shorten feedback loops without provisioning every dependency in a cloud account.

Local mocks and emulators can reduce development and CI costs by avoiding repeated provisioning, idle test resources, and billable service calls in cloud accounts. Savings depend on the workload and should be weighed against local compute, maintenance, and any emulator licensing costs.

Entries are grouped by the APIs they emulate, not where they run. Multi-service means a suite or collection spanning services; it does not promise integrated behavior between them. Provider-built, community, and commercial tools are included. Supporting tools are listed separately.

Within each section, open-source tools come first, followed by other distributions, then paid/commercial tools; entries are alphabetized within each group. “Other distributions” includes free vendor binaries, mixed suites, and tools whose runtime source license has not been established. A usable open-source edition stays in the first group even when optional paid editions exist.

Emulation is not full service parity. Check supported operations, persistence, identity behavior, runtime requirements, licensing, and access conditions. Use real-cloud tests for production-specific guarantees. The selection guide includes scenario-based shortlists, a comparison of every entry, and an evaluation checklist.

Focus and independence: This list prioritizes open-source cloud emulators and supporting tools. Commercial products are included where relevant to help readers compare options; inclusion does not imply endorsement or a recommendation to purchase. Evaluate each tool’s capabilities, licensing, costs, and suitability for your needs.

License markers: 💰 Paid commercial plan or license for commercial use; a free tier or exception may exist. 📜 Vendor-specific software terms or an EULA apply; this does not mean a fee is required. Open-source licenses still apply to unmarked tools. Markers highlight verified conditions, not an exhaustive license audit.

See license and access notes for the marked tools and primary sources.

Contents

  • AWS
    • AWS Multi-Service
    • AWS Single-Service
  • Microsoft Azure
    • Azure Multi-Service
    • Azure Single-Service
  • Google Cloud and Firebase
    • Google Cloud Multi-Service
    • Google Cloud Single-Service
  • Cross-Cloud
  • Beyond Emulation
  • Supporting Tools
  • Choosing an Emulator
  • Support

AWS

AWS Multi-Service

Open source

  • fakecloud - Local AWS API emulator with test SDKs for inspecting effects, resetting state, and controlling asynchronous processors.
  • Floci - Community AWS emulator that exposes multiple service APIs through a shared local endpoint.
  • Hiraeth - Rust-based AWS emulator focused on SQS and partial SNS/IAM APIs, with SQLite persistence and a web UI for inspecting requests and local state.
  • LocalEmu - Python-based AWS emulator with persistent local state and Docker-backed execution for selected services.
  • MiniStack - Community AWS emulator with multi-account and multi-region support and optional engine-backed services.
  • Moto - Community AWS mocking library for Python tests, with a standalone server mode for other SDKs and languages.

Paid/commercial

  • LocalStack 💰 📜 - Vendor-maintained AWS emulation platform distributed as a container; commercial use requires an appropriate paid plan, subject to vendor exceptions; a free non-commercial Hobby plan is available and activation requires authentication.

AWS Single-Service

Open source

  • ElasticMQ - Community message queue with an Amazon SQS-compatible interface, usable as a standalone server or embedded dependency.
  • S3Mock - Community implementation of a subset of the Amazon S3 API for local integration testing, with Docker and Testcontainers support.
  • S3Proxy - Community S3-compatible API server backed by configurable storage, including a local filesystem for testing object operations.

Other distributions

  • DynamoDB Local 📜 - AWS-provided local DynamoDB implementation for developing and testing database interactions.

Microsoft Azure

Azure Multi-Service

Open source

  • Floci AZ - Community Azure emulator exposing multiple service APIs, with Docker-backed execution for selected services.
  • miniblue - Community Go-based Azure emulator that runs multiple services behind a single port, with no Azure account required and optional real backends such as PostgreSQL and Redis.
  • Topaz - Community Azure emulator covering control and data plane APIs, with local ARM and Bicep template deployments, Azure RBAC, and Microsoft Entra ID tenant emulation.

Paid/commercial

  • LocalStack for Azure 💰 📜 - Vendor-maintained Azure emulator distributed as a container, covering Resource Manager and selected data plane APIs; it is in private preview with access enabled on request, commercial use requires an appropriate paid plan, and activation requires an auth token.

Azure Single-Service

Open source

  • Azure Key Vault Emulator - Community Key Vault emulator for testing Azure SDK clients locally, with Docker and .NET Aspire integration.
  • Azurite - Open-source Azure Storage emulator from Microsoft for Blob, Queue, and Table service development and testing.

Other distributions

  • Azure Cosmos DB Emulator - Microsoft-provided local Cosmos DB environment; supported APIs and features vary by emulator variant and platform.
  • Azure Event Hubs Emulator 📜 - Microsoft-provided local environment for developing and testing Event Hubs producers and consumers.
  • Azure Service Bus Emulator 📜 - Microsoft-provided local Service Bus environment for testing messaging applications in isolation.

Google Cloud and Firebase

Google Cloud Multi-Service

Open source

  • Floci GCP - Community Google Cloud emulator covering services such as Cloud Storage, Pub/Sub, and Firestore through local APIs.
  • Fullstory Emulators - Community collection of Bigtable and Cloud Storage emulators, usable as Go libraries or standalone servers with optional persistence.

Other distributions

  • Firebase Local Emulator Suite - Google-provided suite for local testing across Firebase services, including Authentication, Firestore, Realtime Database, and Cloud Functions.

Google Cloud Single-Service

Open source

  • BigQuery Emulator - Community BigQuery API emulator implemented in Go for local database and query integration tests.
  • Bigtable Emulator - Google-provided local Bigtable environment for developing and testing client applications.
  • Cloud Tasks Emulator - Community Cloud Tasks emulator for local queue and task-dispatch testing.
  • Fake GCS Server - Community Google Cloud Storage emulator usable as a standalone server or Go testing library.
  • Pub/Sub pstest - In-process fake Pub/Sub server from the Google Cloud Go client libraries for focused Go tests.
  • Spanner Emulator - Google-provided local Spanner environment for testing application behavior against supported database APIs.

Other distributions

  • Datastore Emulator - Google-provided local environment for testing applications that use the Datastore API.
  • Firestore Emulator - Google-provided local Firestore environment for testing database operations without connecting to a production database.
  • Pub/Sub Emulator - Google-provided local Pub/Sub environment for testing publishers and subscribers.

Cross-Cloud

Open source

  • cloudemu - In-memory simulation of AWS, Azure, and Google Cloud APIs, runnable as a server or embedded in Go tests.

Other distributions

  • Vera - Local simulation of AWS EC2 and Google Compute APIs for infrastructure automation tests.

Beyond Emulation

Some infrastructure tests need real guest execution, storage, and networking behind cloud-compatible APIs. The platforms here run workloads on your own infrastructure; they are alternatives to API emulators, with different host requirements and costs.

Open source

  • Spinifex 💰 - Self-hosted AWS-compatible platform for testing infrastructure and workloads with real QEMU/KVM instances, storage, and OVN-backed networking.

Supporting Tools

These tools run local workloads, manage emulator lifecycles, or prepare and restore test baselines; they are not full cloud emulators. Checkpoint integrations are listed for their specific emulator use case.

Open source

  • AWS Lambda Runtime Interface Emulator - AWS-provided proxy for testing Lambda functions packaged as container images locally; it does not emulate dependent cloud services.
  • AWS SAM CLI - AWS tooling for local invocation and debugging of serverless applications, including Lambda functions.
  • Azure Functions Core Tools - Microsoft tooling to run and test Azure Functions locally; configure service dependencies separately.
  • CRIU - Linux process checkpoint/restore utility for capturing a running emulator and resuming its in-memory state; requires a compatible kernel and runtime environment.
  • DMTCP - User-space checkpointing for Linux applications launched under its control; a candidate for emulator-process experiments after compatibility validation.
  • Docker Checkpoint/Restore - Experimental Docker Engine integration with CRIU for checkpointing and restoring running containers.
  • Moto Recorder - Built-in Moto request recording and replay for rebuilding test baselines; replay is not a process-memory snapshot.
  • Podman Checkpoint/Restore - CRIU-backed container checkpointing with archive export/import for restoring prepared emulator environments on compatible Linux hosts.
  • Testcontainers Azure Module - Java test integrations that manage Azurite, Event Hubs, Service Bus, and Cosmos DB emulator containers.
  • Testcontainers Google Cloud Module - Java test integrations that manage the lifecycle of Google Cloud emulator containers.
  • Testcontainers LocalStack Module - Java test integration that manages a LocalStack container and its endpoints; emulator features depend on the selected LocalStack plan.
  • Toxiproxy - TCP proxy for injecting latency, connection failures, and other network faults between an application and a local emulator.

Choosing an Emulator

Start with the operations and failure paths your tests need. Use mocks for isolated logic, service emulators for API integration, and broader suites when the interactions between services matter. Infrastructure API simulation does not necessarily provision a working database, VM, network, or function runtime.

Compare candidates using the selection guide. Verify your SDK or IaC provider version, endpoints, resource lifecycle, and cleanup behavior against a controlled cloud environment.

Contributing

Suggestions and corrections are welcome. Read the contribution guidelines and code of conduct, then open a pull request or use an issue template. Include upstream evidence, important limitations, and any affiliation.

Support

If this list helps your work, you can buy me a coffee to support its maintenance.