In Virtual Machines, you use an external IP address (input endpoints or instance input endpoints) for external communication. The former is load balanced, and the latter is directly mapped to a specific instance of the virtual machine.
As part of your cloud deployment, you may have multiple virtual machines. They can talk directly to each other via IP / port. Each virtual machine will be assigned an IP address local to your cloud deployment network (that is, the IP addresses are local to the deployment, you cannot talk to someone else's VM unless the virtual network is configured).
The advantage of direct IP inside: you do not need to include any type of security. For example: if you have a WCF service that you access only internally, you donβt have to worry about SSL, certificates, etc.
One performance clarification, from @Eilistraee's answer: there is no penalty for talking to an external ip address. As long as the request is routed to the edge of the data center, your call will not actually leave the data center. In addition: as long as your communication is between virtual machines in the same data center, there is no cost for outgoing traffic.
Now: with the Web / Worker roles in Cloud Services, you donβt have a carte blanche to talk to any IP address inside. Rather, you define specific internal endpoints that ultimately map to a specific port on your website or in working copies (and each instance of the role of the web or working video will listen on the same port, although your code will have to manually choose which website / employee to talk to this internal endpoint).
David Makogon
source share