CheckOps
LocalStack
LocalStack is a cloud service emulator that runs AWS (120+ services) in a single container on your laptop or in CI, with Snowflake emulation and an Azure public preview; the original open-source repository is now archived in favour of a unified image.
- Paid
- Free tier
- Python
- Command Line
- Cloud
- Integration Testing
- Test Cloud
- Integration testing
- Release & CI gates
- End-to-end & functional
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
LocalStack is a cloud software development framework for developing and testing AWS applications locally. It runs as a cloud service emulator in a single container on your laptop or in CI, so you can run AWS applications or Lambdas entirely on your machine without connecting to a remote cloud provider. Whether you are testing complex CDK applications or Terraform configurations, or learning AWS, it speeds up the testing and development loop.
Coverage is broad: LocalStack emulates more than 120 AWS services, including Lambda, S3, DynamoDB, Kinesis, SQS and SNS, with a feature coverage page listing supported APIs. It also emulates Snowflake, and LocalStack for Azure is now in public preview.
An important change for 2026: LocalStack is consolidating development into a single unified image, and the long-running open-source localstack/localstack repository is now archived and read-only. LocalStack says its free Hobby plan for non-commercial use offers the same capabilities as that open-source project, and it still accepts bug reports and feature requests. Teams that relied on the community image for commercial CI should review the plans.
For CI, LocalStack runs with a single Docker image in GitHub Actions, GitLab, CircleCI or Jenkins. Every pull request gets a fully isolated, ephemeral cloud environment with no external dependencies and no shared state between runs, which removes a major source of flaky integration tests and avoids paying for shared cloud test accounts.
Getting started is quick. Install the LocalStack CLI with Homebrew (brew install localstack/tap/localstack-cli), a pre-built binary or pip install localstack, make sure Docker works, then run localstack start -d. To talk to local services, install awslocal, a wrapper around the AWS CLI, and run commands such as awslocal sqs create-queue --queue-name sample-queue. LocalStack must run as a non-root user.
Paid plans unlock more services and advanced features, and Enterprise adds SSO with Azure AD or Okta and SCIM provisioning. The key testing benefit is speed and isolation: integration tests against real-looking cloud APIs run in seconds on a laptop, then identically in CI.
Emulators are not the cloud. Keep a small set of smoke tests against a real AWS account for IAM policies, quotas and service behaviours that emulation may not reproduce exactly, and use LocalStack for the fast, frequent integration runs.
A common pattern is a two-tier pipeline: fast LocalStack-backed integration tests on every pull request, and a smaller nightly suite against a real AWS sandbox account. That combination keeps feedback quick while still catching the cloud-specific behaviour an emulator cannot fully reproduce, such as fine-grained IAM permissions and service quotas.
It is also worth checking how your tests configure endpoints. Most AWS SDKs let you override the endpoint URL through configuration or environment variables, which keeps application code unchanged between local, CI and real cloud runs, and avoids test-only branches that can hide bugs.
Finally, keep LocalStack versions pinned in CI and upgrade deliberately, since emulator behaviour can change between releases just like any other dependency.
Document which services your tests rely on so upgrades are easy to verify.
Features
- AWS emulation: 120+ services including Lambda, S3, DynamoDB, SQS and SNS.
- Single container: Runs on a laptop or CI.
- Ephemeral CI environments: Isolated per pull request.
- IaC support: Test CDK and Terraform.
- Snowflake emulation: Local Snowflake.
- Azure preview: LocalStack for Azure.
- CLI and awslocal: Start and interact quickly.
- Enterprise identity: SSO and SCIM.
Pros
- Fast feedback: No cloud round trips.
- Cost savings: Fewer shared cloud test accounts.
- Huge community: Tens of thousands of GitHub stars on the archived repo.
Cons
- Open-source repo archived: Now a unified, account-based image.
- Commercial use needs a paid plan: Hobby plan is non-commercial.
- Emulation gaps: Not every AWS behaviour is reproduced.
Usage and Links (Example)
brew install localstack/tap/localstack-cli # or: pip install localstack
localstack start -d
awslocal sqs create-queue --queue-name sample-queue
In CI, start the LocalStack container before your integration tests and point AWS SDK endpoints at it.
Resources:
Pricing
LocalStack offers a free Hobby plan for non-commercial use. LocalStack for AWS Base costs $39 per user per month billed annually ($45 monthly) and Ultimate $89 per user per month; Enterprise adds SSO and SCIM.
Recommended for?
- Teams building on AWS wanting fast local integration tests.
- Platform teams testing Terraform and CDK changes in CI.
Conclusion
LocalStack remains the standard way to test AWS applications locally, though its licensing model has shifted.
Check which plan your commercial CI usage needs.
On CheckOps, LocalStack is filed under the Integration testing, Release & CI gates and End-to-end & functional stages. Related tools listed here include Moto, Testcontainers, Database Lab Engine, Mailpit, WireMock and pytest. A short trial on a real project, with your own code, data and pipeline, is usually the fastest way to choose between them, because fit matters more than feature lists. Facts here come from the official site, documentation and repository, checked on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with LocalStack side by side.
MMotoMoto is an Apache-2.0 Python library that mocks AWS services in tests, with decorators for boto3 code and a standalone server mode for other languages.Compare with LocalStack
TTestcontainersTestcontainers starts throwaway Docker containers from tests so integration tests can use real databases, brokers, and browsers.Compare with LocalStack
DDatabase Lab EngineDatabase Lab Engine (DBLab) is Postgres.ai's Apache-2.0 tool for thin cloning and branching of large PostgreSQL databases in seconds for development and testing.Compare with LocalStack
MMailpitMailpit is an MIT-licensed email testing tool for developers: a local SMTP server that captures outgoing mail, with a web UI, REST API, HTML and link checks, and chaos options for integration tests.Compare with LocalStack
WWireMockA tool for mocking HTTP services.Compare with LocalStack- Ppytestpytest is the usual Python test runner: plain asserts, fixtures, parametrization, and a large plugin set.Compare with LocalStack