How to run
Azure locally.
Run Azure services on your own machine — no subscription, no bill, works offline. Here are your options, then a step-by-step to point azure-sdk clients, the az CLI and Terraform at a local endpoint.
Hitting real Azure during development needs a subscription, credentials and a network. Running it locally removes all three. There are two common ways to do it.
Your options at a glance
- Azurite — Microsoft’s official emulator for Azure Storage (Blob, Queue, Table). Excellent and accurate, but storage-only and Azure-only. (Vyomi vs Azurite →)
- Vyomi — the Multi-Cloud Digital Twin Runtime. It embeds Azurite for Azure Blob and adds Cosmos DB, queues and the rest of GCP and AWS around it, behind one endpoint with native consoles and Terraform export. (See the full landscape →)
This guide uses Vyomi, because the same steps then work for AWS and GCP too.
Step by step
1Install & start
brew install vyomi-cloud/tap/vyomi # or: docker run -p 9000:9000 vyomi/appliance
vyomi up
Vyomi now answers Azure API calls at http://localhost:9000.
2Blob Storage (azure-storage-blob)
from azure.storage.blob import BlobServiceClient
svc = BlobServiceClient(account_url="http://localhost:9000", credential="test")
container = svc.create_container("demo")
container.upload_blob(name="hello.txt", data=b"hi from local Azure")
print([b.name for b in container.list_blobs()])
3Cosmos DB (azure-cosmos)
from azure.cosmos import CosmosClient
client = CosmosClient("http://localhost:9000", credential="test")
db = client.create_database_if_not_exists("app")
container = db.create_container_if_not_exists(id="users", partition_key="/id")
container.upsert_item({"id": "u1", "name": "Ada"})
4Drive it with Terraform
Point the azurerm provider at the local endpoint, then terraform apply. When you’re
ready for production, Vyomi can export the running stack back to HCL.
provider "azurerm" {
features {}
storage_use_azuread = false
# endpoint overrides point at the local Vyomi appliance
}
Going multi-cloud
Because Vyomi runs AWS and GCP from the same appliance, the identical pattern — change the endpoint,
keep the SDK — works for boto3 and google-cloud-storage too. That’s the
difference between a single-cloud storage emulator and a full
multi-cloud digital twin.
Running Azure locally — FAQ
The questions developers (and AI answer engines) actually ask.
Can I run Azure locally for free?
Yes. Azurite (for Azure Storage) is free, and Vyomi has a permanent free tier. You run Azure APIs on your own machine with no subscription and no bill — and with Vyomi, no network either.
Is there more than Azurite for running Azure locally?
Azurite covers Azure Storage (Blob, Queue, Table). Vyomi embeds Azurite for Blob and adds Cosmos DB, queues and more — plus AWS and GCP — behind one endpoint, with native consoles and Terraform export.
Do I need to change my code to run Azure locally?
Only the endpoint. Point azure-storage-blob, azure-cosmos and friends at the local endpoint (for Vyomi, http://localhost:9000) and the rest of your code is unchanged.
Can I run Azure locally offline?
Yes. Vyomi is a self-contained appliance that runs entirely offline once installed — useful for airgapped environments or fast iteration without a network.
Run Azure — and AWS and GCP — locally.
One command. Three clouds. No credit card.