A Complex Team Foundation Server Topology
You can choose to configure Team Foundation Server in a number of topology configurations. Generally speaking, the simpler the topology, the easier it will be for you to maintain a Team Foundation Server deployment. Deploy the simplest topology that meets your business needs. This topic describes a complex Team Foundation Server topology. A complex topology has Team Foundation Server components installed on separate servers. It is accessed by clients in multiple domains in geographically distant physical locations. Team Foundation Server Proxy is installed in addition to additional fail-over components.
A complex server topology uses multiple servers in clusters or other failover configurations to host the logical Team Foundation data and application tier components. The following diagram demonstrates a complex Team Foundation Server topology:
This example topology is similar to the moderate topology (see A Moderate Team Foundation Server Topology). Team Foundation Server services are deployed on one application-tier server and the Team Foundation Server databases are installed on a separate data-tier server, with Team Foundation Build and the team's test rig (agents) deployed on additional servers. Also, fail-over components have been added. An application-tier standby server has been added, and the Team Foundation databases have been installed on a SQL Server cluster.
In the example diagram, a child domain named Europe.Contoso.com represents a geographically distant child domain that uses a limited bandwidth connection. Since getting an enlistment from the source code control component of Team Foundation Server can take a very long time under such limited bandwidth conditions, a Team Foundation Server Proxy is installed in the child domain to act as a version control file proxy cache. All client requests go directly to the application tier, with the exception of source code 'get' requests. These requests are directed through the Team Foundation Server Proxy, which then caches all source files that it downloads on the proxy server.
The topology in this example is also concerned about fault tolerance, and has configured fail-over components. An application-tier standby server provides manual fail-over capabilities should the main application-tier server fail for any reason. Data tier fault tolerance is provided by taking advantage of the SQL Server 2005 clustering technologies.
This example is designed for a large product development team with up to 2,000 users. For more information about choosing a deployment topology that best suits your business needs, see Team Foundation Server Planning Roadmap.