Team Foundation Server: Under the Hood
To evaluate and plan for the optimum deployment of Team Foundation Server to meet your business needs, you needto consider below:
- the logical data, application and client tiers for TFS
- the location of the physical servers that is hosting those tiers
- TF Build and the build machines that will run in your domain
- TFS Proxy
You need to think through the relations between these objects. You need to know what Web services, db, and object models are used. Also, you need to figure out which network ports and protocols are used by default and which nic ports you can customize. Finally, you must understand what permissions you must set in TFS and the components and programs on which your deployment depends.
You can extend the structures and functionality of Team Foundation by writing an application that is based on its server or client object orientated model. If you need to extend the server abilities, your application must run on the application-tier server. If you need to extend the client abilities, your application must ride on the same computer as Team Explorer.
Flow chart from MS
TFScontains a set of Web services and dbs that you deploy and configure distinctly on the server or servers that host the logical application, data, client tiers for Team Foundation. Below is a high-level view of all those components provided by MS.

Collection level services in TFS offer the functionality for processes at the level of the team project pool. You can generate applications that extend TFS by using some of these services.
- Team Foundation Framework Services
- Identity Management service
- Event Service
- Location service
- Property Service
- Registration service
- Registry service
- Security service
- Version Control Web service
- VMM Administration Web service
- Test Agent Controller Web service
- Team Foundation Build Web service
- Work Item Tracking Web service
- Lab Management Web service
The logical data tier for Team Foundation contains of the subsequent operational stores within SQL 2008. This tier includes data, stored procedures, other associated logic. These working stores may be stored all on one physical server or dispersed across many servers out the world. You can create applications that extend Team Foundation Server by using some of these operational stores.
- Configuration database (TFS_Configuration)
- Analysis Services database (TFS_Analysis)
- Application warehouse (TFS_Warehouse)
- Databases for team project collections (TFS_CollectionName)
The subsequent table from MS shows a list of the dbs that TFS uses and where they are located.
TFS depends on SQL Server, Internet Information Services (IIS), and the OS. Depending on your environment, Team Foundation Server might also depend on SQL SRS or SharePoint portal. Hence, structure information for Team Foundation Server can be kept in any of the following places:
- Internet Information Services data stores
- Configuration files
- Data sources for SRS
- Config DB for TFS
- Server Registry
As you sustain a deployment of Team Foundation Server, you need to take these configuration sources into account. To make changes to the configuration, you might need to make changes in different places. You might also want to change configuration information for the client and data tiers. Team Foundation Server provides an administration console and several CLI to help you make these changes.
Permissions in Team Foundation Server
TFS has its own set of groups and permissions that you can set at the project, collection, and server level. You may create custom groups and customize permissions at individual levels to fit your needs. Users or groups that you add to Team Foundation Server are not automatically added too two components on which Team Foundation Server can depend on: SharePoint Products, Reporting Services. If your placement uses these programs, you needto add users and groups to them and award the appropriate permissions prior those users or groups will function correctly through all operations in Team Foundation Server.
Team Foundation Server Port Requirements
Tier and service |
Protocol |
Port |
Application tier – Web Services |
HTTP/HTTPS |
8080/443* |
Application tier – Windows SharePoint Services Administration |
HTTP |
17012* (if it was installed with Team Foundation Server); otherwise randomly generated |
Application tier – Windows SharePoint Services and Reporting Services |
HTTP Windows Management Instrumentation (WMI) service (required during installation to specify and verify the URLs for reporting services) |
80* Dynamic port |
Build computer – remote access from application-tier server |
SOAP over HTTP |
9191* |
Data tier |
MS-SQL TCP |
1433* |
Team Foundation Server Proxy - client to proxy |
HTTP |
8081* |
Team Foundation Server Proxy - proxy to application tier |
HTTP/HTTPS |
8080/443* |
Client tier - Reporting Services |
HTTP |
80* |
Client tier - Web services |
HTTP/HTTPS |
8080/443* |
Application tier to build controller |
SOAP over HTTP |
9191* |
Application tier to build agent |
SOAP over HTTP |
9191* |
Build controller to application tier |
HTTP/HTTPS |
8080/443 |
Build agent to application tier |
HTTP/HTTPS |
8080/443 |
Test controller to application tier |
HTTP/HTTPS |
8080/443* |
Application tier to test controller |
.NET remoting |
6901* |
Application tier to Domain Name System (DNS) |
DNS Dynamic Update |
|
Application tier – Virtual Machine Manager |
HTTP |
8100 |
Test controller to test agent |
.NET remoting |
6910* |
Test agent to test controller |
.NET remoting |
6901* |
Build controller to build agent |
SOAP over HTTP |
9191 |
Lab agent to lab agent in an isolated environment |
TCP sockets |
9050 |
Build agent to build controller |
SOAP over HTTP |
9191 |
Virtual Machine Manager Administrator Console – Virtual Machine Manager |
HTTP |
8100 |
Virtual Machine Manager– Virtual Machine Manager hosts |
Windows Remote Management (WinRM) to perform actions Background Intelligent Transfer Service (BITS) to transfer data |
80 to perform actions 443 to transfer data |
Virtual Machine Manager– Virtual Machine Manager library server |
WinRM to perform actions BITS to transfer data |
80 to perform actions 443 to transfer data |
Application tier – Virtual Machine Manager hosts |
Distributed Component Object Model/Windows Management Interface (DCOM/WMI) communication to transfer data |
135 Dynamic ports in the range 49152 to 65535. |
Client tier – Virtual Machine Manager hosts |
Host-based connection to the virtual machine. For more information about host-based connections, see How to: Connect to a Virtual Environment. |
2179 to perform host-based connections. |
