System requirements for Team Foundation Build Service
Team Foundation Build Service has the same operating system requirements as TFS. Hardware requirements for the build service are the same as the operating system on which it is running. However, you can optimize build service performance by tailoring the hardware specs of your build machine to the types of builds your team will use.
To understand hardware optimization, you should understand the basics of the build service architecture. When you install Team Foundation Build Service with the default settings, you create a build machine with a build controller and a single build agent. Build controllers connect the build machine to Team Foundation Server. If you run many builds at the same time, build controllers can require a significant amount of memory. Build agents, on the other hand, perform processor-intensive and disk-intensive work, so you should make sure that the CPU on the build machine is sufficiently powerful to enable the build agent to perform its tasks in an acceptable period of time.
To determine the minimum amount of disk space that is required, you should determine the size of your overall source configuration, and then add the size of all intermediate outputs and binaries from the build process. After you have this number, multiply it by the number of build definitions likely to be built on a particular server, and then double that number for the minimum recommended amount of available disk space for that server.
Use a server that has fast hard disks as an inexpensive way to improve build performance. Another way to maximize Team Foundation Build Service performance is to use hardware with multi-core CPUs.
Should you use one server or more?
You can use build frequency as a metric for determining how much of a hardware investment you want to make for Team Foundation Build Service. If your team performs weekly or nightly builds, installing Team Foundation Build Service on the server that is running Team Foundation Server may not have an adverse effect on productivity. If your team performs parallel builds or continuous integration builds, or if you plan to create a build lab for more than one team, you should most likely install Team Foundation Build Service on its own server, or possibly even multiple servers.
You can set up a network share as a drop folder to store builds. You should create this folder on a computer that is running a supported server operating system, because of the concurrent file access limitations of non-server operating systems. This folder does not have to be on the same server as Team Foundation Build Service. See Set Up Drop Folders