Crap out - USE o Hyper-V e obtenha mais RAM.
Poiunt é - isso é como você diz para o desenvolvimento. O Hyper-V tem muitos recursos de nic. Você pode reverter instalações (Snapshot), colocar servidores nw em um momento, com muito pouco scull (basta preparar um servidor, sysprep-lo). Isso é muita flexibilidade. Sem a flexibilidade, você realmente perde para um ambiente de desenvolvimento. Eu corro vários servidores semelhantes a isso (apenas baseados na AMD, de 8 GB - desatualizado - a 32 GB de RAM) para produção e desenvolvimento e nunca mais instalarei nada físico (incluindo servidores de banco de dados - eu tenho um que é bastante sofisticado, 8gb ram etc., e é executado em hyper-v, com mapeamento de disco físico Razão: substituições de servidor são mais fáceis quando os drivers permanecem os mesmos;)
Especialmente para um ambiente de desenvolvimento, a capacidade de "brincar" com máquinas é ótima. Para exemplo sharepoint - coloque UMA máquina com tudo (SQL, sharepoint) JUST for sharepoint. Instale alguns complexos add - rollback - install - rollback. Não é necessário ter um desinstalador de trabalho nesse momento.
Agora, para o TFS, isso é pelo menos 2 a 3 VMs para começar. Desculpe;) Aqui está a minha configuração do TFS:
* Máquina "SQL" - que é o meu principal SQL Server interno, fazendo apenas isso. É usado por vários subsistemas (Sharepoint, TFS, CRM etc.)
* Máquina "tfs" - o servidor TFS. SOMENTE executa o TFS.
* Máquina "tfs-build" - o servidor de compilação do TFS. Agora, um controlador + 2 agentes. Eu considero mover o controlador para a máquina tfs. De qualquer forma, a idéia principal aqui é que eu não quero construir na máquina tfs - que deve ser "estável". O tfs-build obtém todos os tipos de material de terceiros instalados e removidos, e tem - para o examlpe - visual studio;)