Local shore development. Near-shore development. Off-shore development. They all need source code. Team Foundation Server (TFS) as designed with geographically distributed developers in mind. First, TFS communicates to its clients via HTTP/HTTPS. Second, it uses data compression of it packets it sends over the wire. Lastly, there’s a component called the TFS Proxy Server. This component is for a remote development group and is essentially a file cache for the active projects the remote group is working on. So rather than constantly make round trips across the wire for file requests and comments to the main server, the Proxy Server holds the latest copy of the project files, shortening the distance/time it takes for a developer to get a copy of the latest source code. At Microsoft, are definitely taking advantage of this TFS feature.
While looking for some code snippets for another project I was working on, I came across an article someone wrote about the TFS Proxy Server on The CodeProject website called TFS Proxy Efficiency Testing. The author describes why he looked into the technology in the first place and the results he found while conducting his tests. He even included the scripts he used so if you wanted to the Proxy Server in your environment, you can.
If you’re having transmission issues getting your source code to your main repository from remote users, take a look a this article and see how TFS Proxy Server could help resolve that issue.