http://msdn.microsoft.com/en-us/library/gg432968.aspx
Windows Azure Compute Emulator
- Differences between Windows Azure and the Windows Azure Compute Emulator
- 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. You should use care to avoid relying on local system components from code running in a role
- 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. 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 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. You should use care to avoid relying on local system components from code running in a role
Windows Azure Storage Emulator
- Some differences exist between using the storage emulator and using Windows Azure storage services
- Differences for the Blob Service
- The local Blob service only supports blob sizes up to 2 GB
- If two requests attempt to upload a block to a blob that does not yet exist in the storage emulator, one request will create the blob, and the other may return status code 409 (Conflict), with storage services error code BlobAlreadyExists. This is a known issue.
- A Put Blob (REST API) operation may succeed against a blob that exists in the storage emulator and has an active lease, even if the lease ID has not been specified as part of the request. This is a known issue.
- The local Blob service only supports blob sizes up to 2 GB
- Differences for the Table Service
- Date properties in the Table service in the storage emulator support only the range supported by SQL Server 2005 (For example, they are required to be later than January 1, 1753). All dates before January 1, 1753 are changed to this value. The precision of dates is limited to the precision of SQL Server 2005, meaning that dates are precise to 1/300th of a second.
- The storage emulator supports partition key and row key property values of less than 900 bytes. The total size of the account name, table name, and key property names together cannot exceed 900 bytes.
- The total size of a row in a table in the storage emulator is limited to less than 1 MB.
- The storage emulator does not validate that the size of a batch in an entity group transaction is less than 4 MB. Batches are limited to 4 MB in Windows Azure, so you must ensure that a batch does not exceed this size before transitioning to the Windows Azure storage services.
- In the storage emulator, querying on a property that does not exist in the table returns an error. Such a query does not return an error in the cloud.
- In the storage emulator, properties of data type Edm.Guid or Edm.Binary support only the Equal (eq) and NotEqual (ne) comparison operators in query filter strings
- Date properties in the Table service in the storage emulator support only the range supported by SQL Server 2005 (For example, they are required to be later than January 1, 1753). All dates before January 1, 1753 are changed to this value. The precision of dates is limited to the precision of SQL Server 2005, meaning that dates are precise to 1/300th of a second.
- Differences for the Windows Azure Drives
- When mounting a Windows Azure drive from the Windows Azure compute emulator, the drive must be backed by a page blob created in the storage emulator. It is not possible to mount a drive from the compute emulator that is backed by a page blob in Windows Azure. This behavior differs from that of the other Windows Azure storage services, which can be accessed in the cloud from code that is running in the compute emulator.
- When creating a new Windows Azure drive from the compute emulator, be sure to specify the credentials for the local storage account.
- Differences for the Blob Service