I work a lot with ISV customers today, helping them in implementing their applications on the Windows Azure Platform. Some questions are asked frequently. So I decided to post them (and the answers of course) regularly on this blog. So keep tuned to blogs.msdn.com/kclaeys

Question: I’ve heard about Paraleap AzureWatch (www.paraleap.com). Is that the monitoring tool we need to use to have availability in case of hardware failure in the datacenter ?

Answer: You're mixing things up. AzureWatch is a great tool to dynamically scale your applications. The service watches the performance of your application and can see whether it has reached certain thresholds of utilization (like processer utilization or length of message queues). According to your rules it can ask the Azure environment to add one or more instances on which your application is to be load balanced. So the basic behavior of AzureWatch is to detect performance problems in situations where an unexpected high load of users is hitting your application and scale to a desired level of performance.

On the other hand we have the Fabric Controller. This is an internal mechanism, it’s always on, and free of charge system that monitors the health of the virtual machines on which your application is running. This controller will detect hardware or network failures occurring in the Azure datacenter. This will help guarantee the Service Level Agreement. If we detect a machine is down we will boot a new instance to give you the number of instances you’ve asked for.

Conclusion : You do not need any tool to have high availability on Azure as we run such a service internally. You can use AzureWatch to scale-out in case of performance bursting.

BTW : AzureWatch now also has the functionality to scale-out on a time defined in a schedule.