Boss vuole convertire tutti gli sviluppatori in desktop virtualizzati [duplicati]

7

Il mio capo ha cantato le lodi di sfruttare i desktop virtualizzati per tutti i nostri sviluppatori in azienda - circa 100 persone. Penso che questa sia un'idea orribile e non riesco a pensare ad altre società che perseguono una linea di condotta simile.

Crede di poter eseguire Word e Outlook molto più velocemente sulla sua macchina virtuale ospitata sul server e in qualche modo è arrivato a credere che ciò funzionerà altrettanto bene per lo sviluppo del software. Ho seri dubbi su questo.

Qualcun altro può fornirmi dati oggettivi tecnici e / o commerciali su questo scenario che può essere usato per dissuaderlo?

Riesco a vedere la virtualizzazione del desktop come un'opzione praticabile per i lavoratori basati su attività che siedono di fronte a MS Office o a un'app LOB tutto il giorno, ma per lo sviluppo del software, considero questo un enorme errore potenziale. Io per primo, non ho alcun interesse a tornare ai terminali stupidi e alla cieca fiducia nelle operazioni per mantenere i server e la rete sintonizzati sulle nostre esigenze.

Se viene istituito un sistema di questo tipo, posso benissimo lasciare l'azienda ... perché vedo che la politica tradisce una chiara mancanza di comprensione e una diminuzione della percezione del valore in ciò che gli sviluppatori stanno facendo ...

    
posta Community 15.09.2011 - 07:24
fonte

5 risposte

13

Perché non provarlo? Offri un confronto parallelo per poter fare un confronto equo e così tutti gli sviluppatori possono fare il giro del nuovo sistema. Potresti anche cambiare per un mese o due e davvero provarci. Risultati possibili:

  • Hai un sacco di problemi. Forse gli amministratori di sistema non ti danno accesso agli strumenti di cui hai bisogno, o il sistema è troppo lento, o la tastiera ti fa male alle mani, o qualsiasi altra cosa. Come il primo sviluppatore a provare il nuovo sistema, il tuo manager vorrà sapere cosa ne pensi e probabilmente sarà desideroso di aiutarti a risolvere i problemi che trovi.

  • Il nuovo sistema funziona meglio di quanto previsto ed è almeno passabile. Il più grande svantaggio è che si perde il controllo sulla macchina. Probabilmente è comunque arrivata comunque, e offrendoti volontario per primo (e non lamentandoti) almeno guadagni punti con il tuo manager.

  • Sorpresa! Il nuovo sistema funziona davvero bene. Forse è veloce come la tua macchina attuale, o forse è più veloce. Potresti scoprire alcuni vantaggi che non avevi con la tua macchina desktop. Ad esempio, ho lavorato su uno di questi sistemi in cui è possibile estrarre il token da un terminale e inserirlo in un altro, e si sarebbe proprio dove si era interrotto. Continuavo a non amare il sistema, ma era davvero carino poter sedersi a qualsiasi scrivania e accedere al proprio ambiente. Ha funzionato benissimo per mostrare qualcun altro a qualcosa su cui stavi lavorando. Il rovescio della medaglia qui è che devi ammettere che il tuo manager aveva ragione, ma ottieni comunque i punti per iniziare.

Se dai al nuovo sistema una prova onesta e trovi problemi reali, il tuo manager dovrebbe essere abbastanza intelligente e onesto da ammettere che il suo piano potrebbe non funzionare così bene, almeno per gli sviluppatori. Non dovrebbe essere così investito nel suo piano da non poter vedere i veri problemi. Ma per lo stesso motivo, non dovresti essere così emotivamente attaccato al modo in cui lavori ora che hai paura di provare qualcosa di nuovo.

    
risposta data 15.09.2011 - 08:08
fonte
4

Utilizziamo i desktop virtuali pesantemente e con server potenti che si trovano sulla vostra LAN e lo storage veloce le prestazioni possono essere abbastanza adeguate per lo sviluppo del software. Non è proprio all'altezza di più recente e più veloce ma è vicino. Alcuni dei vantaggi sono la possibilità di replicare rapidamente e distribuire VM, backup automatici e poter accedere al desktop da qualsiasi luogo (ad es. Sala riunioni, casa, ecc.).

Hai bisogno di un particolare SO per i test? Non è un problema. Puoi fare istantanee prima di installare cose ecc.

La sensazione (questa è VMware View) è praticamente indistinguibile da un PC fisico. Più monitor, USB ...

Quindi dipende davvero. Devi valutare i vantaggi rispetto alla riduzione delle prestazioni ridotte. Non è solo il costo di un PC, ma il costo di mantenere quell'hardware. L'investimento iniziale nella creazione di una buona infrastruttura VDI per lo sviluppo del software può facilmente essere molto più alto del costo dei PC (l'archiviazione è pazzesca e anche i server non sono economici).

Ho già commentato una domanda simile prima, vedi:

link

Disclosure :-) Sviluppiamo software per desktop virtuali - quindi mangiamo il nostro cibo per cani.

EDIT: espansione della domanda sul rendimento:

  • Il sovraccarico di esecuzione all'interno di una VM utilizzando CPU moderne è piuttosto ridotto.
  • Esistono soluzioni I / O molto veloci orientate verso gli ambienti VDI (per lo più utilizzano la memorizzazione nella cache SSD).
  • Quindi, in una performance "raw" ben architettata, non caricata, l'ambiente VDI è abbastanza buono. Ancora una volta, non buono come un PC stand-alone all'avanguardia ma piuttosto buono.
  • Il costo "residuo" è il costo di remoting del desktop (ad esempio schermo, tastiera, mouse) sulla rete. Questo è principalmente una funzione di quanti pixel stanno cambiando sullo schermo e per il lavoro di sviluppo del software non è un carico pesante. Come linea guida approssimativa, stimerei che meno del 5% di un core CPU moderno è necessario per supportare questo. Se esegui un'intensa grafica 3D (ad es.), La virtualizzazione probabilmente non fa per te (ancora?).
risposta data 15.09.2011 - 08:12
fonte
2

Non vedo come possiamo rispondere obiettivamente a questa domanda. Perché sembra così male? Quali sono i tuoi problemi con l'ambiente virtuale?

Anche se sono d'accordo sui problemi relativi all'ambiente virtualizzato, ritengo soprattutto il ritardo nell'input e nella disponibilità. Abbiamo usato questo scenario per un po 'ma abbiamo capito che ... programmatori e server erano situati su lati opposti del globo.

Il ritardo è stato orribile, tuttavia siamo riusciti a essere produttivi. Ora, ciò non significa che vorrei tornare in un tale ambiente - è stato davvero orribile. D'altra parte ci sono molti set-up specializzati che dobbiamo usare per alcuni aspetti dello sviluppo del sistema. Per utilizzarlo è molto più comodo usare un ambiente virtuale e accenderlo quando ne abbiamo bisogno, piuttosto che far funzionare tutti gli ambienti su tutte le stazioni.

Ci sono vantaggi nell'esecuzione in un ambiente virtuale e gli svantaggi possono essere risolti. Ad esempio i test delle prestazioni mi sembra ovvio che sarebbe necessario un hardware dedicato per ottenere risultati affidabili nel tempo.

Ci sono anche degli svantaggi la maggior parte dei quali ha un impatto maggiore sul lato commerciale del lavoro rispetto al lato strettamente ingegneristico. Ad esempio la disponibilità. Forse la società in realtà ha pensato di ridurre i costi centralizzando le impostazioni anche se questo significa che x% della parte del tempo o dell'intero team sarà inattivo a causa di interruzioni del sistema. Detto questo, i veri studi di impatto sono raramente eseguiti correttamente. Ora ottenere una sospensione forzata (a pagamento potrei aggiungere) potrebbe non essere sempre giusto, ma sono i loro soldi che stanno aspettando qui. Il tuo tempo è già stato acquistato e pagato, il modo in cui viene utilizzato dipende da loro. Ma come hai detto tu, se il modo in cui scelgono di trascorrere il tuo tempo si sente sbagliato, hai sempre la possibilità di andare avanti.

Il mio punto qui è che se vuoi convincere qualcuno di una decisione sbagliata devi essere pronto a vedere l'altro lato della medaglia. Forse non hanno visto che i problemi che temono si verificheranno, ma forse non hai visto i problemi che hanno portato a questa decisione. Ma come hai posto la tua domanda qui posso solo vedere che questo non sta andando da nessuna parte.

    
risposta data 15.09.2011 - 08:10
fonte
0

Lavoro quotidianamente (come sviluppatore) usando RDP su un desktop virtualizzato e direi che non è così pratico. Soprattutto quando si fanno test delle prestazioni non si può mai fare un test pulito, quindi i risultati sono meno facili da confrontare. A questo aggiungerai sempre un po 'di ritardo tra le tue battute e il computer remoto che gestisce il tuo input

    
risposta data 15.09.2011 - 07:56
fonte
0

Fintanto che sei connesso a una LAN abbastanza veloce e non hai fatto un disastro completo delle dimensioni e della configurazione dei server, non dovresti notare alcuna differenza.

Ci sono numerosi vantaggi per questi ambienti: -

  • Alcune attività sono più veloci: le attività di grandi dimensioni possono sfruttare la potenza di elaborazione e la memoria dell'hardware del server in più.
  • Se hai bisogno di testare più versioni del sistema operativo o del software di sistema, devi semplicemente distribuire più desktop virtuali.
  • È economicamente conveniente distribuire molte workstation più economiche e pochi server potenti rispetto al contrario.
  • Utilizzo. A meno che tutti i tuoi sviluppatori non si ammalino, non prendano mai vacanza, non partecipino mai alle riunioni e non si fermino mai per un caffè, quindi utilizzerai meglio l'ambiente server condiviso: 90% di CPU, memoria ecc. In un giorno lavorativo invece di una media del 10% di utilizzo della workstation per un giorno lavorativo.

Forse preferisci una workstation dedicata, ma non vale la pena combattere il tuo capo.

    
risposta data 15.09.2011 - 08:38
fonte