Domanda

Recentemente ho acquistato un notebook fornito con Windows Home Basic (che non ha ASP.Net/IIS.Ho pensato di aggiornare la versione di Windows a una con ASP.Net/IIS, ma ho pensato a un'altra possibilità:

Ho una custodia per disco rigido con un HD da 360 GB.Ho pensato di creare una macchina virtuale con Windows Ultimate (installando anche ASP.Net, IIS e Visual Studio 2008) in questo HD Case, così potrò accedere al mio "ambiente di sviluppo" in qualsiasi computer su cui lavorerò (la mia macchina desktop e il mio blocco note).

Ma ero preoccupato per la performance.Non ho esperienza di lavoro su macchine virtuali (lo uso solo per rapidi test di compatibilità).

Utilizzi la macchina virtuale come ambiente di sviluppo principale?Cosa trovi?


Modificare

Grazie per le tue risposte!Mi ha davvero aiutato!

Vorrei sapere anche io sulla portabilità, ad esempio la macchina virtuale che ho creato sul mio portatile funzionerà sul desktop?Dovrò riattivare Windows?

È stato utile?

Soluzione

Lavorare con una macchina virtuale va bene purché si disponga di RAM sufficiente per entrambi i sistemi operativi.

Dovresti anche essere consapevole che le macchine virtuali hanno alcune limitazioni, ad es. quando si tratta di supportare le schede grafiche, quindi ti consigliamo di assicurarti che tutto ciò che stai sviluppando non dipenda da una funzionalità che non è disponibile sulla tua macchina virtuale.

Altri suggerimenti

Uso abbastanza VM VMWare e Microsoft basate su VPC, ospitate in un box XP Pro basato su Quad 6600.

Il mio uso delle macchine virtuali era inizialmente di testare in ambienti diversi e per il debug ho dovuto installare SQL Server e VS2008 in uno o due di essi.

A tal fine, le macchine virtuali sono molto convenienti.

Ma basandomi su quell'esperienza, non farei di una VM il mio ambiente di sviluppo principale, semplicemente per motivi di prestazioni. Le prestazioni della VM sono sorprendentemente buone, ma la differenza (praticamente per tutto), anche se non enorme, è sufficiente da notare.

Quando compilo dozzine di volte al giorno, eseguo grandi query, ecc., Non voglio che la mia macchina di sviluppo sia più lenta di quanto non debba essere.

Utilizzo VMWare come ambiente di sviluppo principale ormai da un paio d'anni.

Alcuni ambienti tra i quali in genere passo

  • Sviluppo Windows Form/WPF (XP, .Net 3.5)
  • Ruby Development: ha realizzato un sito Web in Ruby (XP, Instant Rails)
  • ASP.net 3.5 - per giocare con cose nuove (XP, .net 3.5, IIS, SQL Server)
  • ASP.net 2.0 - a volte i posti sono ancora bloccati sulla 2.0 (XP, .net 2.0, IIS, SQL Server 2005)

Alcune cose le ho imparate

  • Usa XP e non Vista.Quando si eseguono più macchine virtuali, la lanugine extra è davvero evidente
  • Assegna a ciascuna VM circa 1 GB (a volte fino a 512 MB).Vuoi dare loro il minimo possibile che impedisca lo scambio con ciò che fai regolarmente.
  • Conserva uno snapshot dell'installazione di base per il tuo stack, prima di eseguire qualsiasi sviluppo.
  • Quad Core + RAM da 8 GB costa poco adesso.In genere ho diverse macchine virtuali in esecuzione durante lo sviluppo.Se hai meno RAM o core, mantieni basso il numero di VM in esecuzione.
  • Disattiva i cursori del mouse del software ed eseguilo in modalità a schermo intero (la maggior parte delle persone non si rende conto che è un VM finché non glielo mostro).

Benefici

  • Posso essere operativo in uno qualsiasi dei miei stack principali in 5 minuti su qualsiasi PC che possiedo.
  • Posso spostare il mio intero ambiente di sviluppo su un laptop o un altro PC in un batter d'occhio.
  • Posso tenere facilmente in giro stack di sviluppatori separati che altrimenti potrebbero pestarsi i piedi a vicenda.

Dischi fissi:Il tuo primo collo di bottiglia sarà la RAM, ma la RAM ora è economica, quindi non c'è motivo di non avere 8-16 GB.Il prossimo grosso collo di bottiglia sono i dischi rigidi in larga misura.Ora provo ad avere un disco rigido per macchina virtuale attiva (utilizzato in un carico di lavoro desktop, non in elementi server).Le configurazioni del raid possono aiutare moltissimo e SSD risolvi completamente il problema se te lo puoi permettere.

Uso VMware dal 2002. Il mio primo utilizzo è stato quello di creare un ambiente di sviluppo in una VM guest, quindi replicarlo per i miei compagni di squadra. Quando è arrivato il momento di un aggiornamento dell'hardware, sono passato al mio nuovo desktop in circa un'ora (installa VMware, copia VM).

Uso VMware costantemente, su desktop, notebook e server. Li uso per lo sviluppo, i test e la produzione. Ho provato a giocare all'interno di una VM, ma la maggior parte dei giochi non lo taglia (e lo dice VMware, ma ci ho provato comunque). Tuttavia, le versioni più recenti di VMware Workstation potrebbero giocare solo con alcuni giochi.

Mi piace particolarmente VMware sul mio laptop e mi piace molto usarlo per Ubuntu Linux. Trovo che finora sia meglio usare Windows (2000 Pro SP4 o XP) per il sistema operativo host a causa dei driver di dispositivo superiori. Tuttavia, preferisco effettivamente lavorare su Ubuntu per il mio sviluppo, ma funziona benissimo in una VM. Ho installato Ubuntu direttamente su vari hardware, ma finora non sono stato abbastanza soddisfatto da lasciarlo per più di qualche mese prima di tornare di nuovo a Windows.

Tuttavia, il mio laptop esegue Ubuntu in modo corretto e sono tornato su Windows XP solo perché voglio caricare una scheda eSATA che mi darà accesso ad alte prestazioni a un disco rigido esterno per ... eseguire VM !!! Non ho ancora eseguito l'installazione a causa di distrazioni sul lavoro.

A proposito di lavoro ... Ho " acquisito " tre vecchi desktop orfani che sto trasformando in host di macchine virtuali. Sto per provare a caricare VMware ESXi, anche se ho appena finito di caricarne due con Windows 2000 Pro SP4 e VMware Server 1.0.8. Gestisco un team di sviluppo e prendo principalmente di mira queste macchine virtuali per ambienti di sviluppo poiché la nostra azienda paralizza troppo i nostri desktop / laptop primari per un vero lavoro.

Bevi la Koolaid !!! VMware è fantastico e ci sono anche molte altre buone opzioni VM!

I migliori auguri.

EDIT: più chicche ...

In particolare, controlla VMware ESXi, VMware Server e Ubuntu JeOS. Roba squisita !!!

No, ma lo uso come macchina di prova quando sto testando pagine Web in Internet Explorer.

Sì, utilizzo VMWare workstation 6.5 ed ESX 3.0 per i miei server. Funziona come un fascino. Nessuna penalità di prestazione evidente.

Ho usato macchine virtuali per lo sviluppo in passato e le uso molto per test di vario genere. L'uso di una macchina virtuale per lo sviluppo funziona abbastanza bene, l'unica cosa su cui ti consiglio è che alcuni dischi rigidi esterni sono piuttosto lenti, il che può darti un problema, ma i dischi veloci funzionano bene.

Sto usando Ubuntu come ambiente di sviluppo Linux su Vista 64.

La macchina ha un disco da 10k, molta memoria veloce e una CPU dual core, quindi funziona molto bene. Ho finito con questo hodge-podge perché, all'epoca, avevo costruito una macchina su cui Ubuntu non funzionava, e andare su VM era il modo più semplice per affrontarlo. Ho trovato abbastanza conveniente, però, quindi anche se Ubuntu probabilmente andrebbe bene con la macchina ora, sto con la VM.

Rende banale eseguire il backup completo del mio ambiente di sviluppo e portarlo fuori sede o anche distribuirlo (vale a dire, la conformità GPL è un gioco da ragazzi - non c'è bisogno di lavorare con le persone che cercano di creare un ambiente di sviluppo per loro e gestirli le stranezze delle versioni del software, ecc.)

Necessario per lo sviluppo di Linux ARM incorporato.

-Adam

Uso VMWare Fusion su un Mac per eseguire Windows Server 2003, Visual Studio e tutti i miei requisiti IIS.

Non ho problemi, ma il mio Macbook pro ha 4 GB di RAM con 2 GB assegnati a WMVare quando è in esecuzione.

Il mio ambiente di sviluppo Windows primario è un Vista x64 nativo. Per i motivi della scheda grafica sopra menzionati e le preoccupazioni (possibilmente infondate) sull'ambiente VM e sul debug, ho deciso che volevo ancora un ambiente nativo per il mio sviluppo .Net e Windows Win32 / 64. Attualmente sto lavorando molto di più allo sviluppo della GUI.

Tuttavia, un tipo molto importante di sviluppo per cui ho usato VM in passato sono i programmi basati su Python, sia Python puro con wxWindows che Python incorporato chiamato da C ++. L'utilizzo di una VM mi ha permesso di controllare l'ambiente Python e di lavorare su diverse installazioni che erano garantite per adattarsi all'ambiente di distribuzione. Lo consiglierei a chiunque utilizzi un linguaggio dinamico in cui si tende a installare molti pacchetti esterni ed è difficile ripristinare in modo pulito le versioni precedenti.

Un'altra cosa da considerare è l'utilizzo di una VM come destinazione con un nub di debug remoto. Molti sviluppatori REALbasic su Macintosh lo fanno per i loro test di Windows (REALbasic ha un favoloso debug multipiattaforma) ma l'ho usato anche in passato per Visual Studio.

Le istantanee sono utili. Puoi utilizzare più VM per test su diversi SO.

I nostri ingegneri eseguono una VM Windows su VMWare esx. Probabilmente abbiamo 12 macchine virtuali Windows in esecuzione su un singolo Dell Poweredge (Sì, è robusto, ma comunque). Sembrano quasi più scattanti sulla rete rispetto alla mia installazione locale di XP su un Core2 Duo!

E su un computer locale, purché tu abbia la RAM per esso, può ancora funzionare molto bene. Una VM di XP ridotta (qualcosa come TinyXP) esegue così come la mia installazione nativa di 6 mesi!

Per quanto riguarda la portabilità; presupponendo la stessa architettura (e sistema operativo), la macchina virtuale dovrebbe funzionare correttamente su entrambi i computer fisici. Se la configurazione hardware della VM non cambia troppo, non è necessario riattivare Windows all'interno della VM.

Eseguo Ubuntu come sistema operativo principale, quindi utilizzo una macchina virtuale Windows 2003 (utilizzando VirtualBox) per lo sviluppo in Windows. Utilizzalo principalmente per lo sviluppo web di Visual Studio 2008. Lo sto facendo da 3 anni a casa, ma ora sto provando al lavoro.

Funziona bene, anche con ReSharper e una soluzione di circa 50 progetti. Non è così veloce come se eseguissi tutto direttamente tramite Windows, ma avere una macchina virtuale ben configurata significa che posso condividerla con altri sviluppatori, inoltre passare facilmente da vms (stiamo cercando di provare Windows Server 2008).

Significa anche che posso usare Windows ma poi lasciare che Linux si occupi di cose come IM, Firefox, Musica (ovviamente), Indicizzazione (tracker), FTP, ecc ... Inoltre ho il terminale a mia disposizione (grep, come lo chiami).

Abbiamo provato questo con immagini fantasma di Windows, ma abbiamo scoperto che poiché le persone hanno hardware diverso l'immagine non funzionerebbe sempre.

Eseguo Windows 7 a 64 bit sul mio computer con 3 GB di RAM (Sì, è basso).

Trovo che gestire il mio ambiente di sviluppo su VM sia davvero una seccatura. Quando ho 5 IDE aperti, SQL Server 2008, NotePad ++, editor OxyGenXML e Chrome / IE / FireFox sono tutti aperti nella mia macchina virtuale, quindi la mia macchina principale ha Outlook, OneNote e alcuni altri programmi in esecuzione si trasforma in schifo.

L'uso di più monitor non è facile neanche con le VM, specialmente se porti via il tuo laptop molte volte, quindi esegui il backup. la risincronizzazione richiede tempo.

Gli altri miei colleghi hanno gli stessi problemi anche con una RAM di 5-6 GB.

Se aggiungessi tutto il tempo sprecato in attesa della mia elaborazione aggiuntiva della VM Cause, sarebbe più di quello che sarebbe se dovessi rifare il mio computer da zero - che impiega meno di 8 ore.

Questo dipende davvero dalla situazione. Gli ambienti più orribili che ho incontrato nel mondo aziendale sono i laptop Windows + l'ambiente virtuale Linux (dove il laptop stesso non è ai vertici della categoria, non mi piace avere il laptop come macchina di sviluppo in primo luogo). Sono principalmente uno sviluppatore Java e mi piace scrivere molti test unitari, e di solito con questa combinazione (non voglio davvero usarne uno, ma beh, sono solo pigro a lamentarmi così tanto) eseguire test unitari molto tempo.

Naturalmente questo dipende dai tipi di test, ma in questo caso la mia ipotesi è che l'I / O del disco stia solo rallentando le cose. Mi piace solo compilare e testare molto, quindi questa è la ragione principale per cui sono favorevole agli ambienti nativi: la velocità. Anche un po 'di tacca che a volte sembra troppo. Ci scusiamo per non aver risposto su un ambito un po 'più ampio e molto soggettivo.

Uso Parallels su un Mac - non ho problemi.

Al lavoro utilizziamo le VM per la maggior parte dei nostri ambienti di test - funzionano molto bene

In passato usavo una macchina virtuale solo come sandbox per impedire alle applicazioni indisciplinate di fare cose indisciplinate. (Sandboxie è un programma fantastico per questo) ma alla fine ho sempre dimenticato di tenerli contenuti e reinstallavo Windows ogni tanto, molto più facilmente della manutenzione costante.

Per quanto riguarda una macchina virtuale, sei avvitato sull'hardware che hai a disposizione poiché il tuo bios e l'hardware sono tutti emulati. Rende praticamente impossibile scrivere qualcosa di basso livello in determinate circostanze. Tuttavia, quando si utilizza un server ospitato su una macchina virtuale tramite una connessione desktop remoto ... Assolutamente meraviglioso, così facile! Posso entrare e uscire in un paio di clic, quindi immagino che sia la virtualizzazione numero uno che uso.

VMware per il debug dei driver di dispositivo e filtro. VirtualBox è bello e veloce per Ubuntu occasionale e un XP con IE6, FF2, Chrome, Opera, & Amp; Safari per test e installazioni di app di cui non mi fido.

Ho una macchina Hyper-V di Windows 2008 che esegue un paio di ambienti di sviluppo. Non è affatto lento (che posso notare). Tuttavia, alcuni dei miei ambienti non sono virtualizzati. Di solito se l'installazione richiede qualcosa in cui il rollback è difficile, allora userò una macchina virtuale, in caso contrario, userò solo un desktop. Tieni presente i costi di licenza. Se hai intenzione di virtualizzare una copia di Windows Server, avrai bisogno anche di una licenza per Windows Server. Probabilmente è più economico per l'aggiornamento di Vista Home Basic a una versione che esegue IIS (anche se il mio suggerimento sarebbe di eseguire Win 7 beta poiché è gratuito e quindi passare alla versione finale di win7 quando è pronto)

Ora che è passato quasi un anno, state ancora usando macchine virtuali come ambienti di sviluppo? Ero solito, ma mi sono fermato poiché le prestazioni stanno peggiorando. Mi chiedo solo.

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