Penso che tu sia un soldo saggio e uno sciocco.
Prima di tutto, i costi delle macchine sono insignificanti rispetto al costo di uno sviluppatore. Dovresti lavorare per massimizzare la produttività, non minimizzare i costi della macchina.
In secondo luogo, la latenza (non la larghezza di banda) è la chiave per molte attività di programmazione, in particolare l'editing di testo. Per ogni dollaro / sterlina / euro che risparmi sulle macchine per i tuoi sviluppatori, spenderai almeno dieci per gli aggiornamenti di rete per mantenere anche una parvenza di produttività - e anche allora, probabilmente sarebbero più produttivi se risparmiassi fornendo li con Pentium III che hai trovato in un cassonetto da qualche parte.
Penso anche che ci sia un sostanziale vantaggio nel fatto che i tuoi sviluppatori utilizzino un ambiente almeno ragionevolmente vicino a quello atteso dall'utente finale di destinazione. Indipendentemente dagli obiettivi prestazionali ufficiali in una specifica e simili, la maggior parte dei programmatori si basa piuttosto su come "si sente" il codice quando lo testano. Quando utilizzano un ambiente completamente diverso da quello dell'utente finale, è probabile che perdano tempo in banalità pur trascurando completamente i problemi principali.
Per quanto attraente sia un ambiente omogeneo dal punto di vista del supporto e simili, dovresti generalmente incoraggiare quanta più varietà possibile nelle macchine degli sviluppatori. Gli sviluppatori raramente hanno bisogno di molto supporto, e sapere immediatamente quando si dispone di codice che fallirà con un diverso chip grafico, CPU, scheda di rete, ecc., Più che ripaga dell'investimento minimo.
In conclusione: se stai scrivendo un codice che è destinato (almeno principalmente) ad essere utilizzato in un ambiente server virtualizzato, devi semplicemente fornirlo per i tuoi sviluppatori. Se lo fai comunque per i test, può (ma non necessariamente) avere senso anche per lo sviluppo. Allo stesso modo, se hai bisogno (o almeno hai) un server e una rete severamente sovradimensionati, potrebbe avere senso approfittarne usando ciò che hai già a disposizione.
Nella maggior parte dei casi tipici, tuttavia, mi sembra che ciò possa introdurre più problemi di quanti ne risolva.