As you may know, Azure VM size is set in 4 different catagories:
It is possible that after your service is running and you might need to tune your service to add more space in Azure VM or reduce the VM size to save some cost if resources are higher then your current service need. This concept is defined as "elastic scale" and Windows Azure takes this concept very well.
Here are a few ways you can accomplish it:
1. Auto-Scale using Azure Service Management API.:
There is a great blog on how to accomplish it: http://blogs.msdn.com/b/gonzalorc/archive/2010/02/07/auto-scaling-in-azure.aspx
2. In Place Upgrade for your Azure Service:
I think the auto-scale referred above does not help in increasing or decreasing the VM - as the VM size is part of the csdef it means that you need to redeploy. No?
<WorkerRole name="WorkerRole1" vmsize="ExtraLarge">
I think you're right Christian, you can only change the instance count on the fly. It seems changing the VM size requires modifying the csdef, rebuild/package and redeploy. :/
Yes to change the VM Size you would need to repackage the application after making modification in the service definition file.
It is quite strange that the VM size cannot be changed "in-place" / dynamically, without a redeploy. It would make sense to be able to change the VM size AND the instance count together in the same place. IMHO this design needs to change.