Export (0) Print
Expand All

Differences Between the Compute Emulator and Azure

Updated: April 3, 2014

The Microsoft Azure compute emulator provides a local simulation of the Azure compute services so that you can test your application in your local development environment before deploying it to Azure. The compute emulator differs in certain ways from Azure:

  • A role instance running in the compute emulator has access to the local Global Assembly Cache (GAC), the registry, machine configuration file, and other local system components. These components are not available to a role instance that is running in Azure, unless the role instance has elevated privileges.

  • In the compute emulator, logging information is written to the output window in the user interface for a role instance, as well as captured by Azure Diagnostics. In Azure, logging information is not directly visible, but may be transferred using the Azure Diagnostics API to a table in an Azure storage account, at which point you can work with them in whatever manner you prefer.

  • A role instance running in the compute emulator runs with administrative privileges, whereas the same role running in Azure runs with the privileges conferred by a standard Windows user account, unless the role running in Azure explicitly requests elevated privileges. It is possible that a role that relies on administrative privileges in the compute emulator may behave differently when deployed to Azure.

  • The compute emulator does not fully emulate the behavior of the Azure load balancer. For example, if code running in an instance of a web role calls the SetBusy method from within the RoleEnvironment.StatusCheck event handler to indicate that the role instance should be taken out of the rotation in the load balancer, you can still access your role from your browser while its status is RoleInstanceStatus.Busy.

  • A deployment on the compute emulator is limited to 50 role instances.

  • IIS Express is used by default on the compute emulator, while IIS 7 is used on Azure. Specific differences between IIS Express and IIS 7 are detailed in the article IIS Servers in the Compute Emulator and include supported protocols, rights required for administrative tasks, and runtime extensions.

  • Remote desktop cannot connect to web roles or worker roles running in the compute emulator, but remote desktop connections can connect to your local computer while the compute emulator runs on your local computer.

  • In the compute emulator, all roles run on your local computer. In Azure, roles run in separate virtual machines.

  • IP allocation in the compute emulator will be different than IP allocation in Azure. A description of IP allocation in the compute emulator can be found in the IP address and port allocation section of the article Run an Azure Application in the Compute Emulator.

© 2014 Microsoft