November 20th, 2024

Introducing the new Linux-based Azure Cosmos DB Emulator (Preview)

Theo van Kraay
Principal Program Manager

We are excited to announce the preview release of the new Linux-based Azure Cosmos DB Emulator! This latest version is built to provide faster startup times and broader platform compatibility, addressing one of the most requested features in the Azure Cosmos DB User Voice community. The emulator can now seamlessly run on Apple silicon and Microsoft ARM chips without any workarounds or virtual machines necessary.

A Seamless Experience for ARM and Apple Silicon Users 

For a long time, developers using Apple’s M1/M2 series or Microsoft ARM-based devices encountered significant challenges when trying to run the Azure Cosmos DB Emulator. The typical workarounds added layers of setup and caused performance overhead. Now, with the new Linux-based emulator, you can now enjoy native performance, reduced startup time, and simplified installation, making development faster and more efficient. 

Why This Update Matters 

This update to the emulator marks a major improvement for the Azure Cosmos DB development experience, directly addressing the top-requested feedback on the Azure Cosmos DB Feedback forum, ensuring that developers can work in more flexible environments. With this update, developers can now work in more flexible environments. For those who’ve been waiting for Mac compatibility, this is the solution they needed! 

Quick and Easy Setup 

Setting up the new Linux-based emulator is straightforward, leveraging Docker for simplified deployment. Follow these simple commands to get started: 

1. Download the Docker image:

docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview

2. Run the container. Afterwards, use docker ps to validate that the container is running.

docker run --detach --publish 8081:8081 --publish 1234:1234 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview 
docker ps

Once running, you can access the Data Explorer by navigating to http://localhost:1234. 

Current Feature Support and Limitations 

This emulator supports the most popular operations, such as creating and querying databases and collections. However, only the NoSQL API is supported in this preview, and the emulator runs exclusively in gateway mode. Some advanced querying and features like stored procedures, triggers, and UDFs are either not yet implemented or will not be supported in the future. For the full list of supported features, refer to the documentation here: https://aka.ms/CosmosVNextEmulator. 

Join the Community and Share Your Feedback  

We are committed to improving the development experience based on your feedback. If you encounter any issues or have suggestions, please visit our GitHub repository and create an issue tagged with cosmosEmulatorVnextPreview. Your input helps shape the future of the emulator, and we encourage you to participate.

Leave a review

Tell us about your Azure Cosmos DB experience! Leave a review on PeerSpot and we’ll gift you $50. Get started here.

About Azure Cosmos DB

Azure Cosmos DB is a fully managed and serverless NoSQL and vector database for modern app development, including AI applications. With its SLA-backed speed and availability as well as instant dynamic scalability, it is ideal for real-time NoSQL and MongoDB applications that require high performance and distributed computing over massive volumes of NoSQL and vector data.

Try Azure Cosmos DB for free here. To stay in the loop on Azure Cosmos DB updates, follow us on X, YouTube, and LinkedIn.

Author

Theo van Kraay
Principal Program Manager

Principal Program Manager on the Azure Cosmos DB engineering team. Focused on Apache Cassandra offerings, Java ecosystem, high availability, and customer success.

1 comment