One of the promises of cloud computing and hence the Windows Azure Platform is elasticity – the ability to to match resource capacity against demand as demand increases and decreases. For Windows Azure we have two primary resources to consider when thinking about elasticity – Windows Azure Compute and Windows Azure Storage.
Windows Azure Compute capacity is scaled by modifying the instance count of a role (or roles) in the service configuration file. This can be done manually on the Windows Azure Portal which supports either the in-place editing or the uploading of a new service configuration file. The Windows Azure Service Management REST API also exposes operations allowing the service configuration to be replaced with a new version containing different instance counts for the roles.
This is easy :-)
This is trickier. It typically needs you to write clever code. It needs thought. It needs care. It is actually much tougher than you think to get right. No, seriously, it is.
But the good news is help is at hand with AzureWatch from Paraleap Technologies. AzureWatch promises elasticity-as-a-service for Windows Azure. It delivers elasticity of Windows Azure Compute instances through configuration with no code change required – as long as Windows Azure Diagnostics has been setup for the hosted service.
I haven’t yet had a chance to try it but the good news is Neil Mackenzie has – and has done a superb job of reviewing it on his blog. Check it out.