I have been playing around with Microsoft's Azure and starting thinking about how DNS resolution works with all these "cloud" providers. If I start up 10 different virtual servers (that are not web servers), I get 10 different domain names (mystuff.cloudapp.net, mystuff.blob.core.microsoft.net, etc.). They can't be giving out a public IP for each one of these domains, right? That would get expensive quickly. Port forwarding can be used to map ports on a public IP address to different internal servers, but then everyone would need to use a different, non-standard port for their service. Are they somehow pointing public domain names at private IP addresses (with something in the middle to properly route them)? Or do they just have a metric-frack-ton of IP addresses so they can afford to hand them out like candy?