Export (0) Print
Expand All

Differences Between the Compute Emulator and Azure

Updated: April 3, 2014

The Windows Azure compute emulator provides a local simulation of the Windows Azure compute services so that you can test your application in your local development environment before deploying it to Windows Azure. The compute emulator differs in certain ways from Windows 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 Windows 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 Windows Azure Diagnostics. In Windows Azure, logging information is not directly visible, but may be transferred using the Windows Azure Diagnostics API to a table in a Windows 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 Windows Azure runs with the privileges conferred by a standard Windows user account, unless the role running in Windows 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 Windows Azure.

  • The compute emulator does not fully emulate the behavior of the Windows 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 Windows 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 Windows Azure, roles run in separate virtual machines.

  • IP allocation in the compute emulator will be different than IP allocation in Windows 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 a Azure Application in the Compute Emulator.

© 2014 Microsoft