For a tool for running serverless functions offline, the first results are awslabs/aws-sam-local (aws-sam-local is a Docker-based emulator that runs and debugs AWS Lambda functions and API Gateway configurations locally, with event mocking and runtime isolation, making it exactly the tool for serverless offline testing), localstack/localstack (LocalStack simulates the entire AWS ecosystem locally, including Lambda, API Gateway, S3, and event sources, making it a comprehensive and flagship tool for offline Lambda development and testing for the visitor's query) and dherault/serverless-offline. aws/aws-sam-cli and floci-io/floci round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Tools and frameworks that simulate AWS Lambda environments locally to streamline testing and debugging serverless functions.
aws-sam-local is a Docker-based emulator used for running and debugging AWS Lambda functions and API Gateway configurations on a local machine. It provides a local execution environment that mimics the AWS Lambda runtime, allowing for the verification of function code and serverless application mocks before cloud deployment. The project utilizes a runtime orchestrator to manage ephemeral containers, replicating the isolated execution environment of cloud functions. It includes a serverless API gateway simulator and event mocking tools to synthesize payloads from sources such as Kafka and othe
aws-sam-local is a Docker-based emulator that runs and debugs AWS Lambda functions and API Gateway configurations locally, with event mocking and runtime isolation, making it exactly the tool for serverless offline testing.
LocalStack is an infrastructure development environment that provides a local simulation of cloud services. By leveraging container-orchestrated service lifecycles, it allows developers to build, test, and debug cloud-native applications on their local machines without requiring remote connectivity or incurring cloud provider costs. The platform distinguishes itself through sophisticated traffic redirection and request routing, which intercept cloud service calls at the network layer and redirect them to local handlers. This enables seamless integration with existing development workflows, al
LocalStack simulates the entire AWS ecosystem locally, including Lambda, API Gateway, S3, and event sources, making it a comprehensive and flagship tool for offline Lambda development and testing for the visitor's query.
serverless-offline is a Serverless Framework plugin that provides a local cloud infrastructure simulator. It acts as an AWS Lambda local emulator and AWS API Gateway mock, allowing for the development and testing of serverless functions on a local machine without deploying to a remote provider. The project distinguishes itself by simulating bidirectional WebSocket connections and message routing, as well as mimicking the request lifecycle of an HTTP gateway. It includes a mock identity authorizer pipeline to verify tokens and JWTs locally and supports the mounting of virtual dependency layers
serverless-offline is a Serverless Framework plugin that emulates AWS Lambda and API Gateway locally, providing a local cloud simulator for testing serverless functions without deploying — it covers core emulation and multiple runtimes, but lacks some advanced features like S3 storage and hot reloading.
The AWS SAM Command Line Interface is a development toolkit used to define, emulate, and manage the lifecycle of serverless infrastructure. It serves as an infrastructure as code tool and a wrapper for AWS CloudFormation, allowing users to describe cloud resources through declarative templates. The project differentiates itself by providing a local serverless emulator that uses containers to execute and debug functions before they are deployed. It also enables rapid cloud iteration through real-time synchronization, which monitors local source code for changes and automatically pushes updates
The AWS SAM CLI is the official AWS toolkit that provides a container-based local Lambda emulator with API Gateway and event source simulation, real‑time sync for hot reloading, and integrated debugging, exactly matching the need for offline serverless testing.
Floci is a local emulator for AWS services and cloud infrastructure designed for developing and testing applications without a live internet connection. It serves as a containerized cloud emulator and a serverless runtime emulator, allowing users to run high-fidelity replicas of cloud databases, queues, and compute services on a local machine. The project distinguishes itself by using real container images instead of simple mocks to ensure behavioral accuracy. It functions as a local API gateway simulator with proxy-based routing for REST and WebSocket APIs, and provides a serverless environm
Floci is a containerized local emulator for AWS services including a serverless runtime and API Gateway simulation, making it squarely the kind of offline Lambda testing tool this search asks for, though its exact support for multiple runtimes, hot reloading, and debugger integration isn't fully detailed in the description.
docker-lambda is a Docker-based serverless simulator and local emulator designed to replicate AWS Lambda runtime environments. It provides a system for executing serverless functions locally and mirroring cloud execution environments through containerized images. The project includes a local API server that allows for function invocation via HTTP to eliminate cold starts during testing. It features a build tool for compiling native dependencies and packaging function code into deployment archives using specialized system images. The environment supports mirroring shared dependency layers by
lambci/docker-lambda is a Docker-based emulator that replicates AWS Lambda runtime environments locally, allowing you to test and debug functions without deploying to the cloud, though it may lack built-in API Gateway simulation and SAM CLI integration.
The AWS Lambda Runtime Interface Emulator is a proxy server designed to replicate the cloud-based serverless execution environment within a local container. It functions as a lightweight interface that allows developers to verify function logic, performance, and API integration by simulating the remote control plane and event invocation model on a local machine. The tool operates by intercepting HTTP requests and translating them into the structured JSON event payloads expected by serverless function handlers. It manages the function lifecycle through a synchronous event loop and maps local c
The Lambda Runtime Interface Emulator is the official AWS proxy for local testing of Lambda container images, providing a lightweight HTTP-to-JSON conversion that closely matches the actual Runtime API — though it focuses on container-based functions and does not natively include API Gateway emulation or S3-like storage, it is the right kind of tool for emulating the execution environment locally.
MinIO is a software-defined, cloud-native object storage server designed to manage large volumes of unstructured data. It functions as a distributed storage cluster that aggregates multiple independent nodes into a unified, scalable pool, providing a high-performance infrastructure compatible with standard cloud storage protocols and application programming interfaces. The system utilizes a shared-nothing architecture that eliminates central metadata servers, relying instead on a decentralized hash table to map objects across the cluster. Data availability and resilience are maintained throug
MinIO provides S3-compatible local object storage, which covers one listed feature, but it is not an AWS Lambda execution emulator — it does not run or debug serverless functions, so it is a supporting component rather than the tool itself.
Up is a deployment tool that transforms any HTTP server into an AWS Lambda function behind API Gateway with a single command, eliminating server management entirely. It provides a unified platform for building and deploying serverless APIs that scale automatically and charge only for actual usage, while supporting Node.js, Go, Python, Java, Crystal, and Clojure runtimes without per-language configuration. The tool automates the generation and management of all required AWS resources—including Lambda, API Gateway, CloudFront, and S3—from a declarative configuration, and can replicate the entir
Up is a deployment tool for transforming HTTP servers into AWS Lambda functions and managing cloud infrastructure, not a local emulator for testing and debugging functions offline.
Fission is a function-as-a-service platform and serverless framework for Kubernetes. It manages the lifecycle and execution of code snippets as serverless functions, providing an orchestrator that triggers these functions based on HTTP requests, message queues, or scheduled events. The platform features a cold-start optimized runtime that utilizes warm container pools and dynamic loaders to achieve millisecond execution. It includes a native autoscaler to adjust the number of function instances based on real-time traffic demand and supports canary release testing to split incoming traffic bet
Fission is a function-as-a-service platform for Kubernetes that manages serverless functions, but it is not a local tool that emulates the AWS Lambda environment for offline testing and debugging—it runs on a Kubernetes cluster rather than providing a local development sandbox.
OpenFaaS is a serverless function platform that provides a container-native framework for deploying and managing event-driven code. It functions as an abstraction layer over container orchestrators, allowing developers to package code into scalable functions that run across Kubernetes clusters or edge computing environments. The platform distinguishes itself through a developer-centric runtime that utilizes standardized language templates and automated build pipelines to simplify the creation of container images. It features a central API gateway that manages request routing, authentication,
OpenFaaS is a full serverless platform for deploying and managing functions on Kubernetes, not a lightweight local emulator that mimics the AWS Lambda execution environment with features like API Gateway emulation or S3-compatible storage for offline testing.
Nightmare is a multi-purpose automation workflow orchestrator designed to streamline development and operational tasks through a unified command-line interface. It functions as a comprehensive toolkit for managing browser automation, cloud infrastructure, serverless function lifecycles, and distributed messaging streams. The project distinguishes itself by consolidating disparate development utilities into a single environment. It provides specialized frameworks for programmatic web browser control, the transformation of vector graphic assets into accessible user interface components, and the
Nightmare is a multi-purpose automation workflow orchestrator with some serverless lifecycle management, but it is primarily focused on browser automation and not a dedicated AWS Lambda emulator that runs and debugs functions offline with the required runtime support, API Gateway emulation, or event source simulation.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| awslabs/aws-sam-local | 6.7K | Python | Apache-2.0 | |
| localstack/localstack | 64.4K | Python | other | |
| dherault/serverless-offline | 5.3K | JavaScript | MIT | |
| aws/aws-sam-cli | 6.7K | Python | Apache-2.0 | |
| floci-io/floci | 14.2K | Java | MIT | |
| lambci/docker-lambda | 5.8K | C# | MIT | |
| aws/aws-lambda-runtime-interface-emulator | 1.1K | Go | Apache-2.0 | |
| minio/minio | 60.3K | Go | agpl-3.0 | |
| apex/up | 8.8K | Go | MIT | |
| fission/fission | 8.9K | Go | Apache-2.0 |