Planning for Dual-Server Deployment

A logical Team Foundation Server consists of an application-tier server (made up primarily of Web services) and a data-tier server (made up primarily of SQL Server 2005 databases). In the dual server configuration, one server is the application-tier server, and the other is the data-tier server. Dual-server deployments are designed for deployments that have more than 100 users across multiple team projects.

Considerations for Dual-Server Deployments

You must decide whether a dual-server deployment is the most appropriate choice for your business needs. When planning for Team Foundation Server and considering whether to deploy a single-server or dual-server deployment, ask yourself the following questions:

  • How many users do I need to support?   If you plan to have fewer than 100 users, consider whether a single-server deployment might better suit your needs. Conversely, if you must support more than 500 users, consider whether you can deploy more than one Team Foundation Server. Projects cannot be split across servers, but you can deploy more than one Team Foundation Server on a network. Consider deploying independent projects on separate Team Foundation Servers so that no Team Foundation Server has more than 500 users.

  • How many projects will I be supporting with Team Foundation Server?   If you are supporting a small number of projects, consider whether a single-server deployment might better suit your needs. If you are supporting a large number of projects and users, remember that Team Foundation Server can only support 500 users on each server, and that interdependent projects that share resource files cannot be split across more than one Team Foundation Server. Consider grouping related projects, and deploying each group of related projects on separate Team Foundation servers so that no Team Foundation Server has more than 500 users.

  • Do I have two servers I can dedicate to Team Foundation Server?   The servers in a dual-server Team Foundation Server deployment should be dedicated to Team Foundation Server functionality. The application-tier and data-tier Team Foundation servers should not serve any other purpose, such as mail servers, file servers, or database servers for other applications.

  • When will the deployment need to be available for production use?   Plan for at least a whole day for installation and setup of the software on each Team Foundation Server, and at least another day for configuration of users, groups, projects, project structure, and permissions on the two Team Foundation servers.

In addition to these questions, you should consider your computer network when planning your dual-server deployment. The application-tier server and the data-tier server should be members of the same domain or workgroup, and on the same network segment without a firewall configured between them. If you plan on including a test rig or a build computer in your Visual Studio Team System deployment, the Team Foundation servers should also be a member of the same domain or workgroup as those servers. If it is possible, the servers should all be on the same network segment.

Advantages of Dual-Server Deployments

Advantages of dual-server deployments include the following:

  • Extensibility   Dual-server deployments are designed for a large number of users. Your dual-server deployment can expand to handle more users and projects as your deployment grows in scope.

  • Separation of Services   Because the application-tier services and data-tier services are on separate servers in a dual-server deployment, you can separately configure access permissions for users and groups on each server.

  • Separate backup and failover options for application-tier and data-tier services   You can schedule backups of the application-tier and data-tier servers separately. If you must perform maintenance on or replace a data-tier server in your dual-server deployment, you can redirect the application-tier server to a different data-tier server transparently to the users. Additionally, you can choose to configure and deploy an additional server that can act as a standby or fail-over application-tier server.

Disadvantages of Dual-Server Deployments

Disadvantages of dual-server deployments include the following:

  • More complexity   You must manage access and maintenance on two servers instead of one.

  • Network restrictions   You must have consistent network connectivity between your application-tier and data-tier servers.

Requirements for Dual-Server Deployments

The following table shows the recommended hardware requirements for deploying Team Foundation Server on two servers, depending on the number of users.

Configuration Tiers CPU HD Memory

400 to 800 users

Application tier server

single processor, 2.8 GHz

20 GB

1 GB

400 to 800 users

Data tier server

dual processors, 2.8 GHz

80 GB

2 GB

800 to 2,000 users

Application tier server

dual processor, 2.8 GHz

40 GB

4 GB

800 to 2,000 users

Data tier server

quadruple processors, 2.8 GHz

150 GB

4 GB

The guidelines presented here are appropriate for most deployments. They are designed for environments that contain fewer than 500 users on a single Team Foundation Server. The server that is running Team Foundation Server should have a reliable network connection with a minimum bandwidth of 1 Mbps and a latency maximum of 350ms.

If your environment does not meet these criteria, you should carefully consider the implications before you deploy Team Foundation Server. Consider whether to increase hardware requirements beyond these recommendations, whether you can improve the network reliability and bandwidth, or whether the use of multiple servers that are running Team Foundation Server might better suit your business needs.

See Also

Concepts

Planning for Single-Server Deployment
Server Requirements for Team System
Client Requirements for Team System

Other Resources

Managing Users and Groups