Communication between Windows Azure Roles
When building Windows Azure application you may have a collection of multiple web & worker role and depend on your application architecture you would need to establish a secure communication between your roles. For example I will use the following image from MSDN article (http://msdn.microsoft.com/en-us/library/gg433033.aspx):
The very first rule of Connectivity:
Only role instances that are part of the same Windows Azure application can communicate with each other and this communication could occur only over ports declared as internal endpoints within your Windows Azure Application.
So if your objective is to established communication between two separate Windows Azure application roles then the answer is no, it is not possible. If you can merge your separate applications into a single Windows Azure application which includes all roles then you sure can establish a secure connection between these roles of same application.
Now let’s discuss what could not be an option for our solution:
- Azure Connect: Establishing connectivity between Azure Roles and computers outside Azure
Azure Service Bus is an option, as suggested by [Clemens Vasters] below:
- Service Bus' NetTcpRelayBinding with Hybrid connectivity actually DOES provide direct connectivity in that scenario which i will discuss in another blog post in details.
Yes, you sure can setup a secure network connection between roles of a same Windows Azure Application and to set up network traffic rules to control role communication please visit the following article at MSDN:
- Getting Started with Enabling Role Communication