Question

My webapplication hosted on windows azure needs to communicate with TFS Server. my webroles connect to TFS using a uri similar to (http://ed12-ektfsp-01:8080/tfs/eeol/ ) While on azure I found that my webrole failed to communicate with tfs server.

  1. Do I need to enable "azure connect" for for my azure webrole to communicate with tfs ?
  2. Do I need to remote into my tfs server and install azure connect into my TFS server for the azure connect to get enabled ?
  3. Why azure cannot communicate using "http://ed12-ektfsp-01:8080/tfs/eeol/ " ?
Was it helpful?

Solution

Please take a look at my answer to this question.

As for your specific questions:

Do I need to enable "azure connect" for for my azure webrole to communicate with tfs ?

YES.

Do I need to remote into my tfs server and install azure connect into my TFS server for the azure connect to get enabled ?

YES. And add both the WebRole and the TFS Server into single Connection Group.

Why azure cannot communicate using "http://ed12-ektfsp-01:8080/tfs/eeol/ " ?

Because the address given is known only within your corporate network, and only resolved by the Company's DNS server. Noone outside can access this address.

OTHER TIPS

Your web application does not know the server ed12-ektfsp-01 (I'm assuming this is a server in your datacenter/in your internal network). But there are a few options to allow your web application to connect to this server even if it isn't hosted in Windows Azure:

  • Configure your firewall to allow traffic from the internet to reach the server ed12-ektfsp-01. This is probably something you do not want to do, unless the server is already available (maybe for developers working at home). Then instead of using the machine name, use the public domain instead (like tfs.mycompany.com) if it's available.
  • Like you already mentioned, use Windows Azure Connect. This allows you to create a secure tunnel between your roles and your datacenter/internal network. You'll be able to connect to ed12-ektfsp-01 even if it's not exposed to the internet through your firewall. In order for this to work you'll need to install the agent on each server you want to connect to your role, this includes your TFS server.
  • You can connect your role to a Virtual Network. Then you can use a VPN device on-premises to create a site-to-site VPN connection to this Virtual Network. See the tutorial here: Create a Virtual Network for Cross-Premises Connectivity
  • You can use Service Bus Relay. This allows you to create a WCF service that calls TFS and host that service within your datacenter/network, but publish it to the cloud. Your web application will be able to consume the WCF service as if it were hosted in Windows Azure.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top