Domanda

Qualcuno ha qualche osservazione positiva sul fatto che un team lavori tramite Desktop remoto?

In molti luoghi di lavoro, inseriamo gli utenti finali tramite Citrix e le applicazioni su un server centrale e potente. A volte i client si trovano nello stesso edificio del server, ma spesso sono remoti.

Potrebbero esserci alcuni enormi vantaggi per me mettere i miei sviluppatori su istanze di Windows XP o Vista in esecuzione su un paio di server con Hyper-V.

Sono preoccupato che RDP / RDC via Internet sia troppo lento per consentire a qualcuno di svilupparsi in modo efficiente.

Sono sicuro di poter sentire molte cose brutte al riguardo ... ci sono persone là fuori che hanno avuto successo?

È stato utile?

Soluzione

Ho visto una situazione in cui è stato fatto il tentativo di farlo con un ufficio satellitare. È stato fatto per un team di sviluppo Java utilizzando vari strumenti IDE Java. Il risultato non è stato considerato un successo e la società ha riportato la squadra in un ufficio nel centro di Londra a spese considerevoli.

Per qualcuno che lo fa quotidianamente con software interattivo, il risultato non è molto piacevole. Per qualcosa che utilizza principalmente strumenti basati su testo come gli strumenti da riga di comando vim e unix, funziona in qualche modo meglio. A un certo punto ho avuto XVNC su un collegamento DSL a 128 Kbit (di un tipo che all'epoca era prevalente in Nuova Zelanda) e potevo lavorare abbastanza facilmente su un data warehouse basato su Oracle in una posizione remota. Il livello di interattività richiesto dagli strumenti li ha resi molto meno sensibili al collegamento lento rispetto a un IDE basato su Windows.

Quindi, invoco l'argomento 'dipende' con alcune qualifiche:

  • Non lo consiglierei per un IDE moderno, e certamente non per qualcosa di fortemente grafico come Dreamweaver, BI Development Studio o Informatica.

  • Per un ambiente testuale come gli strumenti di sviluppo unix tradizionali, probabilmente potrebbe funzionare abbastanza bene. Queste interfacce utente sono molto meno sensibili alla latenza rispetto a un'interfaccia utente a manipolazione diretta.

Sono una specie di credente nel principio dei "migliori strumenti". Fare di tutto per dare un'interfaccia utente di seconda classe a un team di sviluppo emetterà segnali negativi. Il risparmio di costi derivante da questa operazione è probabilmente minimo e volontà infastidisce alcuni membri del team. Anche se può essere fatto funzionare ragionevolmente bene, stai comunque facendo una dichiarazione di valore. Valutare il risparmio sui costi rispetto al costo di sostituzione di uno o più membri dello staff di sviluppo chiave.

Altri suggerimenti

Se non sei preoccupato per la latenza sull'audio e sulle immagini in rapido movimento e non stai sviluppando nulla che dipenda dall'hardware 3D, probabilmente starai bene.

Non l'ho mai usato in un ambiente di squadra, ma uso il mio laptop RDP nella mia workstation tutto il giorno e lo adoro.

Ci colleghiamo ai nostri ambienti di sviluppo tramite RDP e localmente le prestazioni sono eccezionali. Rallenta un po 'su VPN, ma è ancora accettabilmente reattivo.

Disattiva tutte le funzionalità di animazione di Windows, lo sfondo del desktop, ecc. e ciò contribuirà notevolmente.

Ho lavorato in un ambiente in cui occasionalmente modificavamo del codice esistente tramite desktop remoto. Non ci sono state sfide significative a questo. Come sviluppatore odiavo positivamente fare quel lavoro. Tutto sembrava lento e insensibile. Tuttavia, abbiamo completato il lavoro.

Per fortuna spesso si trattava di lavori brevi di 3-4 ore ... principalmente correzioni a sistemi esistenti su siti remoti di clienti. Non credo di poterlo raccomandare come un normale modo di lavorare, ma è certamente possibile.

Ho usato sia VNC che RDP su una connessione DSL, correndo attraverso un tunnel SSH e non ho avuto problemi reali.

Ci sono sicuramente alcuni ritardi, in particolare se si ridisegna gran parte di uno schermo. Ma la maggior parte dello sviluppo comporta piccole modifiche ed entrambi questi protocolli gestiscono molto bene.

Uso Desktop remoto per controllare la mia macchina Windows al lavoro. Uso una macchina virtuale Parallels su un Mac e la mia connessione è 2.5M in giù, 256k in su.

Funziona davvero molto bene. Lo faccio da 2 anni da 1-3 giorni a settimana. L'accelerazione lenta non è un problema: non riesco a digitare così velocemente.

Ho 3 schermi al lavoro ma trovo ancora un 20 " Lo schermo del Mac deve essere superiore. I colori sono molto più chiari e posso lavorare più a lungo sul Mac rispetto alle mie schermate di lavoro!

La cosa che è un killer è Flash su un browser. Se apro accidentalmente un browser sul mio computer remoto con Flash, la connessione viene interrotta. La soluzione è utilizzare FlashBlock (un componente aggiuntivo di Firefox).

Uso Eclipse e Visual Studio senza problemi.

L'ho usato per lavorare da casa (accesso remoto al mio PC interno tramite VPN).

Le prestazioni dipendono dai tuoi ISP, ovviamente.

È leggermente meno affidabile (perché oltre al downtime quando / se la LAN dell'ufficio è inattiva, ora c'è un ulteriore rischio di downtime mentre una delle connessioni Internet è inattiva).

Ho un server remoto su una pipe upstream da 1 Mbps a cui eseguo il RDP (su una VPN) e funziona perfettamente. Uso anche risoluzioni dello schermo di grandi dimensioni (1600x1200) senza problemi di prestazioni. Ovviamente, non sono sicuro di come andrebbe incontro un simile setup per più utenti simultanei.

Un vantaggio dello sviluppo su RDP che non avevo previsto è che puoi salvare le tue sessioni, quindi dopo aver terminato lo sviluppo per la giornata, esci dal client RDP e spegni il computer e quando ti riconnetti il giorno seguente la sessione è esattamente dove l'hai lasciata.

Come bonus aggiuntivo, i client RDP sono disponibili per linux e OS X .

Uso RDP quotidianamente per lo sviluppo, lascio il mio laptop a casa con il mio ambiente di lavoro aperto e pronto all'uso. Quando arrivo al lavoro e tutti stanno caricando i loro progetti e aprendo i loro programmi, ho appena avviato il PSR e sono pronto per partire. Devi tenere a mente alcune scorciatoie da tastiera che cambiano (CTRL + ALT + CANC per esempio), all'inizio è fastidioso ma ti ci abitui.

Per ridurre al minimo la latenza, raccomando ...

  • abbassando i colori a 256 (dopo tutto, devi solo vedere il testo)
  • Lascia lo sfondo sull'altro computer
  • Lascia i suoni sull'altro computer
  • Lascia qualsiasi tema sull'altro computer
  • Scegli una velocità di connessione inferiore, anche se la tua è più alta. Windows ridurrà al minimo i dati inviati.

Uno dei vantaggi che potresti anche considerare è la potenza di elaborazione. Se la tua macchina a casa ha specifiche di gran lunga migliori rispetto alla tua workstation sul lavoro, i tempi di compilazione sono migliorati un po '. Poiché il computer locale deve solo aggiornare l'immagine dal computer remoto, il computer locale non è sotto carico.

L'uso di questa opzione mi consente anche di tenere traccia. Mentre altri accedono e navigano in Internet e perdono tempo, sono pronto e pronto per partire. Essere più produttivi ti aiuta a ricevere grandi somme (se il tuo datore di lavoro se ne accorge), mentre altri sono ancora bloccati nei loro ruoli di programmazione junior.

Prima del 2000 l'ho fatto per 3 anni ogni giorno diverse ore al giorno. Questo è stato quando anche la larghezza di banda ha risucchiato.

Oggi è molto meglio.

E se usi NxMachine la vita migliora ancora :)

Tuttavia, non ho usato la macchina con più utenti. La mia preoccupazione sarebbe che gli sviluppatori siano un gruppo schizzinoso (me compreso) e tendiamo a spingere le macchine davvero così com'è.

Non riesco a immaginare diverse persone su una scatola che decidono di compilare :)

G-Man

Lo facciamo con citrix ed è molto veloce.

Mi chiedo quale sia la ragione di ciò. I server centrali hanno accesso ad alcune risorse a cui i singoli computer degli sviluppatori non potevano accedere?

Di tanto in tanto utilizzo RDP per connettermi dal mio computer di casa al mio computer di lavoro. Devo dire che è possibile codificare, ma è molto più comodo farlo quando l'IDE si trova sulla propria macchina. Anche quando su una LAN da 100 MB c'è un notevole ritardo. Non abbastanza per disturbare il lavoro, ma comunque fastidioso.

Se le persone devono lavorare da luoghi remoti su base regolare, preferirei una configurazione in cui il controllo del codice sorgente centrale è disponibile tramite un protocollo sicuro (HTTPS, VPN, ecc.), ma lo sviluppo può avvenire localmente sulle macchine dello sviluppatore. Se usi qualcosa come SVN, che funziona bene anche con lo sviluppo offline, dovrebbe essere molto più comodo per i programmatori stessi.

Ciò che è importante per una workstation di sviluppo è la pura potenza di elaborazione. Al nostro posto gli sviluppatori dispongono delle workstation di fascia più alta in termini di CPU, memoria, disco, ecc. E non in termini di audio e grafica. È quest'ultimo ad essere maggiormente interessato dal PSR.

Finché il server a cui i tuoi sviluppatori stanno eseguendo il RDP è abbastanza veloce da gestire più compilazioni, allo stesso tempo dovresti andare bene.

Come per tutte le cose, la risposta alla tua domanda è " La tua miglia può variare " o YMMV. Dipende da cosa stanno facendo gli sviluppatori. Trascorrono la maggior parte del tempo a scrivere codice o eseguono molte compilazioni di grandi dimensioni? Hanno bisogno dell'accesso diretto all'hardware?

Hanno bisogno dei diritti di debug? Una volta concessi loro i diritti di debug, in pratica possiedono la macchina e possono interferire con altri utenti.

In genere è molto meglio consentire agli utenti di svilupparsi sui propri computer e utilizzare una VPN per consentire loro di accedere al sistema di controllo della versione. Quindi possono controllare i file sui loro computer locali e fare quello che vogliono, quindi controllare le modifiche.

Ma anche RDP ha i suoi vantaggi. Devi davvero valutare i pro e i contro e decidere quale lista è più lunga o più & Quot; pesante & Quot ;.

Uso NoMachine NX Client per desktop remoto su un server senza testa che esegue FreeNX. È fantastico perché posso accedere alla mia sessione da qualsiasi luogo e la mia ultima sessione è ancora lì per me. La velocità non è mai stata un problema, tranne quando la linea DSL è inattiva. Ad ogni modo, il mio punto è che se stai usando un server Linux e usi 'vi', allora c'è un'alternativa migliore di 'screen'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top