tags:

views:

323

answers:

4

I'm currently tasked with setting up a TFS server for a client. The TFS will mainly be accessed by local (on-site) users through the internal network... Easy!

But what about the few remote users we have? Should they connect via VPN or is it better to make the TFS server public and have the users connect over SSL and provide username and password to the TFS?

Do you have any suggestions on how these solutions will perform compared to each other?

+1  A: 

When I did it, I used a VPN. Was easier to setup, and made sure that no-one could even see the machine with out being authenticated via the VPN - this was obviously way better from a security standpoint, which trumped any performance benefit we would have got from using SSL, if there even was one...

Kieron
+2  A: 

I'd start with a few questions: does the client have a VPN? And are the remote consumers on this VPN already? How secure does this need to be?

(In our case, we have lots of outside vendors we don't want on our VPN, so our source control is publicly accessible with SSL)

Wyatt Barnett
Yes, the client already has a Cisco VPN configured. The main concern here is compatibility with x64 and new OS'es.
JohannesH
+1  A: 

My previous experience with TFS was in an environment where we had a team of developers staffed out at client sites all over the city. In many situations we still accessed our TFS instance instead of something at the client site. We used SSL with public access to TFS. It worked very well for us.

Chris Stewart
+3  A: 

VPN is the way to go if you want the optimal TFS experience with TFS 2005 or TFS 2008. While TFS mainly uses web service based protocols that can all go over SSL, there are a few small things that will not work unless you have proper network access. For example:

As well as a few other little niggles. Going the VPN route will also mean that your TFS installation will vary less from a standard base TFS installation which gives you some peace of mind that you won't run into any problems when it comes to upgrading to a new version, applying service packs etc. (or at least any problems you run into will have been run into by many before :-) ). Going the SSL route you are treading a less worn path - though obviously plenty of people do run it that way including CodePlex and all the commercial companies that provide a hosted TFS installation.

The downside of VPN is that usually you are granting users to an entire section of your network (unless you are running TFS in it's own mini private network or something). If you go down the SSL route then be sure to properly test the new team projects as this is easy to break and you might not realise until you try and create one either inside or outside the network.

For additional information, see Chapter 17 of the TFS Guide.

Martin Woodward
I'll probably go the VPN route based on your answer. My main concern is the Cisco VPN client which doesn't support x64 OS'es, but of course that has nothing to do with TFS.
JohannesH