Windows Azure Development Fabric (Dev Fabric)
The development fabric is a high-fidelity simulation of the Windows Azure cloud environment on a local development. The development fabric is designed for developing and testing and all Windows Azure apps should be fully tested on the dev fabric before being deployed. The development fabric UI can be started in any of the following ways:
- Debugging or running a cloud service project from Visual Studio.
- Running CSRun.exe from the command line with valid parameters.
- Directly from the Azure SDK program Start menu.
- Running DFUI.exe from the Windows Azure SDK bin directory.
When the development fabric starts, it can be accessed from the development fabric system tray icon. Figure 3-25 illustrates the development fabric user interface hosting a cloud service.
The development fabric shows the Azure service deployments in the local environment and allows for altering the state of a running service. Services can be suspended, restarted or removed using the development fabric UI.
The above screenshot shows a cloud service running with two instances of the Web role, one instance of a WCF role and one instance of a Worker role. The console windows on the right-hand side each correspond to an instance of the selected service. The console window shows the state and health of that instance and shows all the logging data that the instance outputs. The Service Details node shows the Service Name, URL, Interface Type,and IP Address of the service.
When the dev fabric starts a service, it first attempts to use the TCP port for the input endpoint given in the ServiceDefinition.csdef configuration file, if the port is unavailable it selects the next available TCP port. Thus, the port on which the input endpoint is running can sometimes be different from the port given in the ServiceDefinition.csdef file. In the development fabric, a debugger can be attached to a running instance at runtime by rightclicking an instance and selecting Attach Debugger:
The development fabric UI gives the option of selecting the available debuggers on the local machine. In addition, it allows you to set the logging levels at the service, role, and instance levels. The logging levels can be set by selecting Tools > Logging Levels or by right-clicking on a node. The local storage location can be opened by selecting Tools > Open Local Store. The name and the size of the local storage can specified in the ServiceDefinition.csdef file:
<WebRole> <LocalStorage name=”<name>” sizeInMb=”<n>” /></WebRole>.
The sizeInMB attribute is optional and the minimum allocated value is 1MB.