With the new Remote Desktop beta program of Azure a small negative test can be performed. The task manager can be used to kill some processes. Lets see how Azure recovers from this ‘error-behind-keyboard’.
I uploaded a package with the portal using a Production Deployment. The package is SDK 1.3 with a WebRole but not using full IIS. (removed the sites node)
After a little wait I see the Instance is created. Now I request the WSDL of one of the services I am hosting. Works. The feed from the servicebus displays my endpoint. And I start a Remote Desktop.
Everything worked as I expected. Now I’m going to kill the host process of my Role.
After I killed the proces my Remote Desktop lost the connection. The WSDL request cannot be serviced. (Internet explorer cannot display the webpage) The feed from the servicebus still displays my endpoint, but that is cached information. Soon that disappeared too.
Now I wait and see if the instance is recoverd. The status of the Deployment and Role changes to Aborted and the status of the Instance changes to Preparing node. Then Deployment and Role status becomes Busy and the Instance status Recovering role. Then back to Aborted and Preparing node and again to Busy and Recovering role. After a few cycles everything worked again. The WSDL, the servicebus endpoint and the Remote Desktop. The portal reports status ready again.
I started the same test yesterday before going home and the instance had recovered in the morning. The logging told me it recovered at the hour. The same test this morning showed it recovered at the hour too. Looks like there is a watchdog running every hour.