After spending a good amount of time in the Azure documentation. It seems that there is an inconsistency regarding the ability for VMs in the same cloud service (not in a VNet) to talk to each other. Through experience I know that the VMs can talk to each other but it almost seems like not guaranteed behavior.
Virtual Network Overview is especially unhelpful because it says "Do your VMs or cloud services need to communicate with each other within Azure." This make it seem like any two VMs need a VNet to communicate internally. Would it be better to state "VMs in separate cloud services"? Another similar statement is in How to Connect Virtual Machines with a Virtual Network or Cloud Service which was changed a day ago and previously said VMs in a single cloud service could talk to each other.
On the other hand, msdn.microsoft.com/en-us/library/azure/jj156088.aspx implies that intra cloud service communication is possible. azure.microsoft.com/en-us/documentation/articles/virtual-machines-load-balance/ states this too.
It seems to be a possibility that cloud services will eventually have VNets by default and that these inconsistencies may lay some truth to that.
It would be nice to get a final answer on this and have it be documented. Regardless of VNets being a best practice, it's a valid to concern to know if you can communicate between VMs in a cloud service without a VNet on a guaranteed basis. Furthermore, assuming no endpoints exist in the cloud service, are any other outside VMs allowed to talk to the VMs in the service? Experimentation says no which is a nice trade off from Ec2-Classic.
EDIT: I can't post more than 2 links so the two in the "On the other hand" section are poorly formatted. This post was moved from SO.