Several folk that I work with have asked about the ability to reserve a fixed IP address for their Windows Azure services.

This is often needed in order to provide access on a whitelisting service, proxy or firewall.
Windows Azure does not offer this functionality. A virtual IP address is determined for you at deployment time and will remain fixed from that point on until the deployment is actually deleted. For further details see this blog post by Corey Sanders.

But what about when I delete my deployment to upgrade my service?
In the past a change to the Service Definition (increasing or decreasing the size of a VM, Changing role endpoints, Adding or removing roles etc.) would require a full re-deployment. Because IP Addresses are allocated at deployment time, deleting the deployment would reallocate your previous address to the pool and the re-deployment would likely result in a new IP Address.

As of Oct 2011 this is no longer the case!

Most of these updates can now be performed on a running deployment, without having to delete and redeploy.
See this blog post by Drew McDaniel for more details.
The MSDN documentation has been updated to reflect these changes.

Note: These update types are only available with SDK v1.5 and beyond.

So... whilst we don’t give you the ability to reserve an IP address, with the new in-place and VIP-swap update capabilities, nearly every software update scenario may be performed without a delete+redeploy, resulting in a stable IP address for the vast majority of applications in Windows Azure.