Some tools are best not to be hosted in the
same machine together with the Continuous Integration
Server. For example, the code repository and databases shall
be segregated out, as these types of servers have a lot of
process working on their own. We would like to avoid other
processes run together with the build process. Some build
script uses timeout, we should take our build as a critical
process and do not want other process interfere before the
timeout. Some tools are okay to be installed together in the
Continuous Integration server if it does not run on
background. However having a parallel build could be an
advantage. One build could be building a project that expose
running services while another build will use up the exposed
services. An example is like building a server and testing it
by consuming the services from the server.