Sfondo :
Lavoro in una società start-up, in cui un team utilizza Virtual Machines per connettersi a un server remoto per lo sviluppo e un altro team (il team in cui lavoro) utilizza IIS / SQL Server 2005 / Visual Studio locale installazioni per condurre il lavoro.
Il Team VM si trova a circa 1000 miglia dal Team Non-VM e i server su cui si trovano le VM si trovano vicino al Team VM (Latenza, per quelli che si stanno chiedendo, è circa 50ms).
Una persona in alto nella società sta spingendo affinché il team non-VM utilizzi macchine virtuali per la programmazione, lo sviluppo e il test.
Quest'ultimo punto su cui siamo d'accordo - vogliamo che le macchine virtuali testino le configurazioni e vari aspetti dell'applicazione web in uno stato "pulito".
Il problema :
Ciò su cui non siamo d'accordo è che gli sviluppatori che utilizzano RDP si connettono a un desktop remoto che contiene Visual Studio, SQL Server e IIS per fare lo stesso sviluppo che potremmo fare localmente sui nostri laptop.
Ho provato la configurazione della VM e, oltre al problema del colore, c'è un problema di latenza che è piuttosto evidente, senza contare che dal momento che siamo una start-up, un buon numero di dipendenti lavora da casa a volte con i nostri laptop da lavoro, e questa mossa avrebbe tagliato i laptop. Verrebbero consegnati.
Ragioni per utilizzare le VM remote per lo sviluppo (non testare!) :
Ecco i motivi per cui questa persona vuole che usiamo le VM:
- Funzionano per TeamVM.
- Mantengono il codice sorgente "sicuro".
- Se vogliamo lavorare da casa, potremmo semplicemente utilizzare i nostri PC di casa.
- Licenze (non so quale sia l'argomento, solo che è stato usato).
Motivi per cui non utilizzare le macchine virtuali remote per lo sviluppo :
Ecco i motivi indicati per cui non vogliamo utilizzare le macchine virtuali:
- Ci piace lavorare da casa. Facciamo molto lavoro nel nostro tempo libero.
- Non useremo i nostri PC domestici per fare cose relative al lavoro.
- La latenza è evidente.
- Supporto per le macchine virtuali (se cadono, o se abbiamo bisogno di una nuova VM) richiede un po 'di tempo.
- Non disponiamo di privilegi amministrativi sulla VM e non siamo in grado di modificare le impostazioni in base alle esigenze.
Quello che sto cercando dalla community è questo:
Quali ragioni daresti per non utilizzare VM per lo sviluppo? Tenere presente che si tratta di macchine virtuali remote: questa non è una VM in esecuzione su un desktop locale. Sta usando il laptop (o un desktop) come thin client per una VM remota. Inoltre, dall'altra parte della medaglia: c'è qualcosa che ci manca che rende le VM più appetibili per lo sviluppo?
Modifica : penso che "sicuro" sia usato in termini di spionaggio aziendale, o più correttamente se il laptop viene rubato, la persona che ha rubato avrebbe avuto accesso al nostro codice sorgente. Il primo (come abbiamo sottolineato, è sempre che sarà una possibilità - le aziende lo fermano con contenzioso, non c'è una soluzione tecnica (per quanto posso vedere)). Quest'ultimo punto è (anche se non conosco la sua utilità in uno scenario aziendale) mitigato da TrueCrypting per l'intero volume.