Guide

Test cloud apps
offline.

Run AWS, GCP and Azure on your own machine so your tests need no cloud account, no network and no bill — fast locally, reproducible in CI, and viable in airgapped environments.

Tests that hit real cloud are slow, flaky, and expensive: they need credentials, a network, and they leave billable resources behind. Pointing the same tests at a local cloud removes all of that — and makes airgapped and offline development possible.

Why test against a local cloud

  • No bill — create and destroy thousands of resources for free.
  • No network — works on a plane, in a secure facility, or in a locked-down CI runner.
  • Reproducible — every run starts from a known, resettable state.
  • Fast — millisecond round-trips instead of cross-region latency.

Step by step

1Run a local cloud

Start Vyomi — a self-contained appliance that serves AWS, GCP and Azure APIs locally and runs fully offline once pulled:

docker run -p 9000:9000 vyomi/appliance   # or: vyomi up

2Point your tests at it

Drive the endpoint from an environment variable so the same test suite runs against local cloud in development and CI, and real cloud in staging — no code change:

export CLOUD_ENDPOINT=http://localhost:9000

# in code:
client = boto3.client("s3", endpoint_url=os.environ["CLOUD_ENDPOINT"])

3Wire it into CI

Run the appliance as a service container and your tests talk to it over localhost — no secrets, no cloud egress:

# GitHub Actions
services:
  cloud:
    image: vyomi/appliance
    ports: ["9000:9000"]
steps:
  - run: pytest   # tests use CLOUD_ENDPOINT=http://localhost:9000

4Cover more than one cloud

Because Vyomi runs AWS, GCP and Azure from one endpoint, cross-cloud integration tests (write to S3, read from GCS, queue on Azure) run entirely offline — something single-cloud emulators like LocalStack, Moto or Azurite can’t do alone. See the comparison →

From offline tests to production

When the suite is green, Vyomi exports the same stack to Terraform, so the environment you tested offline is the environment you ship. That round-trip — local digital twin to real cloud — is what separates a test mock from a faithful replica.

Testing cloud apps offline — FAQ

The questions developers (and AI answer engines) actually ask.

Can I test AWS, GCP and Azure apps without a cloud account?

Yes. A local cloud like Vyomi serves AWS, GCP and Azure APIs on your machine, so tests run with placeholder credentials, no real account, and no bill.

How do I run cloud tests in CI without secrets or network egress?

Run the local cloud as a CI service container and point your tests at localhost via an endpoint environment variable. No cloud secrets are needed and nothing leaves the runner.

Does this work in an airgapped environment?

Yes. Vyomi is a sealed appliance that runs fully offline once the image is present, which makes it suitable for airgapped and high-security environments.

Can I run cross-cloud integration tests offline?

Yes. Because Vyomi runs all three major clouds from one endpoint, tests that span AWS, GCP and Azure run locally and offline — not possible with a single-cloud emulator alone.

Green tests, zero cloud bill.

Run your cloud test suite offline, on three clouds, for free.