Team Foundation Server Setup is considered a complex task mainly because Team Foundation Server has several dependencies on other applications:
- IIS and ASP.NET for hosting the Web Services and Application Pools
- SQL Server Database Services where that system databases are stored
- SQL Server Analysis Services where the warehouse cube exists
- SQL Server Reporting Services for reporting functions
- Windows SharePoint Services for Team Portal
Two of these dependencies are directly used by the users which are Reporting Services and SharePoint that is why permissions are needed on these two components in addition to permissions granted inside TFS. All of these dependencies need to be installed or sometimes configured prior to TFS setup.
In addition to the installed applications TFS need two user accounts
- Service Account: TFS services and Application Pools run as this account in addition this account is granted read and write access to TFS Databases.
- Reporting Account: The Reporting Services Data Sources use this account to read from the database.
The first version of Team Foundation supports two out of the box deployment scenarios
- Single Server: where Team Foundation Server and its dependencies are deployed on the same server.
- Dual Server: where SQL Server Databases and Analysis services can exist on a machine called the Data Tier while the Server and the rest of the dependencies exist on a machine called the Application Tier. This deployment is recommended for large teams for scalability and performance reasons. Deploying this configuration requires executing two separate setups one on the Data Tier to layout the databases and one on the Application Tier to setup TFS.
Details on that can be found on the TFS Installation Guide
In Orcas release, one of our goals is to reduce the restrictions on the possible deployment scenarios in order to make it easier for our customers to deploy TFS in a way suitable for their organizations. I will talk about these changes in my next posts so stay tuned.