# Emulator pattern

Term type: Pattern

Replaces a supported cloud resource with a local emulator for development while keeping the resource in the application model.

Also known as: emulator, RunAsEmulator

Some hosting integrations support a local emulator, often running in a container. Azure Storage, for example, can use Azurite through `RunAsEmulator` in C# or `runAsEmulator` in TypeScript.

This can reduce the need for live cloud resources during development. Support is integration-specific: not every cloud resource has an emulator, and emulator behavior may differ from the production service.

Review the integration's supported features and test cloud-specific behavior against the real service before deployment.

## Practical example

Use the Azure Storage integration's emulator support to run Azurite locally instead of connecting to a live storage account.

## Learn more

- [Run Azure Blob Storage locally with an emulator](https://aspire.dev/integrations/cloud/azure/azure-storage-blobs/azure-storage-blobs-host/)

## Related terms

- [Existing resource pattern](https://aspire.dev/hub/glossary/existing-resource-pattern/)

- [Hosting integration](https://aspire.dev/hub/glossary/hosting-integration/)

- [Run mode](https://aspire.dev/hub/glossary/run-mode/)