Qualcuno usa macchine virtuali per lo sviluppo web e perché? [chiuso]

10

Vedo alcuni sviluppatori a cui piace usare macchine virtuali per lo sviluppo web. Ce ne sono altri che lo fanno? Se ci sono, perché lo fai? Esistono pro / contro nello sviluppo su una VM piuttosto che in un ambiente non virtualizzato?

Penso che le cose siano più lente in una VM.

    
posta 7wp 16.09.2010 - 22:34
fonte

10 risposte

20

Uso VM per i test di IE. Ho una macchina Windows dedicata, ma mi propongo di utilizzare le macchine virtuali per alcuni motivi:

  • È una seccatura cambiare i computer, anche se è proprio accanto a te
  • È estremamente facile eseguire il rollback di una VM per avere un ambiente di test pulito
  • Preferirei usare un ambiente in cui gli useranno piuttosto che i kludges come IETester e generalmente non puoi eseguire più versioni di IE contemporaneamente.
  • È più economico eseguire più istanze VM che acquistare più computer di prova
  • Le macchine virtuali, almeno quelle per Mac OS X, sono diventate così buone negli ultimi due anni che lo stigma "lento" dato alle macchine virtuali è ingiustificato.
risposta data 16.09.2010 - 22:52
fonte
7

L'altro motivo per cui le persone utilizzano una macchina virtuale per lo sviluppo web è virtualizzare un ambiente server che possono essere disattivati facilmente.

A casa uso sempre una VM per la creazione di progetti personali in modo da poter disattivare completamente tutto quando voglio, ad esempio, giocare. In un ambiente di lavoro potresti voler disattivarlo in modo da disporre di risorse complete per transcodificare un video in FLV.

Ti dà quella flessibilità per fare ciò che vuoi con le tue risorse.

    
risposta data 16.09.2010 - 23:32
fonte
3

Preferisco usare le macchine virtuali per quasi tutto lo sviluppo ... specialmente quando lavoro con un team di sviluppatori. Le macchine virtuali mi consentono di creare un "ambiente in una scatola" che può essere rapidamente impostato con un po 'di mal di testa. Dal momento che utilizzo un MBP come mia macchina principale, preferisco VMWare ... è molto meno doloroso soprattutto in un ambiente "per lo più di Windows".

Per quanto riguarda la velocità, varia onestamente dall'impostazione all'impostazione. Gli unici problemi reali che ho riscontrato con la velocità della macchina virtuale sono: a. Non avendo abbastanza risorse fisiche (memoria, ecc.) O b.) Non allocando abbastanza risorse alla VM. Altrimenti, in realtà preferisco lavorare su una macchina virtuale Windows sul mio Mac piuttosto che lavorare su una scatola nativa.

    
risposta data 16.09.2010 - 23:16
fonte
2

Gli ambienti di test sono grandi come altri hanno menzionato.

  • test del browser (ad esempio, safari, ecc.)
  • clean testing environment
  • facile avere più configurazioni
  • test di accessibilità (screen reader e simili)

Ho una VM strettamente per la profilazione e il debug del mio codice che ha già configurato kcachegrind, insieme al selenio, xdebug e alcuni altri strumenti configurati per semplificare il profilo e il debug del mio codice. Sì, alcuni potrebbero dire che questo è già un ambiente di sviluppo, ma personalmente mi piace avere una VM sul mio desktop dedicata a questo tipo di attività.

Inoltre, per quanto riguarda la lentezza in una VM:

Le cose sono più lente in una VM a causa del sovraccarico che richiede "virtualizzare" l'ambiente. Tuttavia, la VM sta diventando sempre più vicina all'hypervisor che riduce il sovraccarico necessario per la VM.

    
risposta data 16.09.2010 - 22:59
fonte
2

Uso sempre le macchine virtuali. A scopo di test, il ragionamento è ovvio, ma lo uso anche per il mio ambiente di sviluppo reale, principalmente perché 1) rende la migrazione a nuovo hardware un gioco da ragazzi, e 2) mi dà una facile "istantanea" (o set delle istantanee) ricorrere come richiesto per quelle configurazioni del mio ambiente di sviluppo. Le mie esigenze potrebbero essere uniche: sono principalmente uno sviluppatore Delphi che utilizza più versioni di Delphi e molti componenti di terze parti, ma la quantità di tempo e mal di testa che ha il mio ambiente di sviluppo all'interno di una macchina virtuale è stata salvata, probabilmente non potrei essere sopravvalutato.

Detto questo, non spiaccicare la scatola su cui li esegui, specialmente quando si tratta di memoria. ; )

    
risposta data 16.09.2010 - 23:52
fonte
1

Questa è una risposta tardiva. Sono d'accordo con tutti i punti della risposta accettata, ma volevo aggiungere che uso le macchine virtuali esclusivamente per lo sviluppo Web e non solo per i test. Sono su un iMac che usa VirtualBox per eseguire Windows, Fedora e Ubuntu - a volte tutto in una volta. Non ho problemi con le prestazioni.

Preferisco lavorare in questo modo perché lavoro per i clienti che utilizzano sia i server Fedora che Ubuntu e mi consente di abbinare strettamente l'ambiente di sviluppo con l'ambiente di produzione. Inoltre, mi rende un amministratore di sistema migliore nelle aree che sono più importanti dal punto di vista dello sviluppo.

    
risposta data 17.09.2010 - 01:56
fonte
1

Hai trovato che usare le macchine virtuali è un buon modo per mantenere una configurazione di sviluppo specifica per il cliente.

In una società di consulenza precedente, Devs sapeva che licenziare una VM specifica significava disporre di un ambiente di lavoro per lo sviluppo / test e l'implementazione del software supportato per quel client. Particolarmente utile quando si supportano alcuni sistemi oddball reali.

Per le nuove app, avresti la più recente e migliore configurazione sulla tua macchina principale Dev. Ma che dire di quando hai bisogno di correggere alcuni vecchi VB6 app che la tua azienda supporta ancora. Immagina di installare Visual Studio 6 sulla tua bella macchina VS2010 pulita? Io non la penso così!

Significava anche che era abbastanza facile per qualsiasi Dev supportare qualsiasi client.

    
risposta data 19.09.2010 - 18:35
fonte
0

Ho sicuramente usato macchine virtuali per testare siti web, ma non per scrivere codice in.

Il vantaggio delle macchine virtuali è che puoi configurare diversi sistemi operativi e browser, per testare gli inevitabili bug css che scoprirai in IE6 / 7/8.

    
risposta data 16.09.2010 - 22:50
fonte
0

Non vedo alcun motivo per sviluppare siti Web in una macchina virtuale, non ce n'è bisogno per un utente Windows.

Puoi eseguire tutto in una installazione di Windows (IE portatili, Chrome, Firefox, Safari, ...),
in alternativa puoi utilizzare Expression SuperPreview per entrare in un nuovo mondo di test cross-browser.

    
risposta data 16.09.2010 - 23:07
fonte
0

Uso una macchina virtuale per mappare i sottodomini di virtualbox.me (I own the domain) alle sottodirectory di una cartella sul mio computer host condiviso al guest.

Con questa configurazione, creo una nuova directory e immediatamente ho un nuovo progetto sotto il proprio sottodominio, cioè / home / pete / virtualwww / my-super-project maps a link

Ho scritto una guida per la replica di questo (usa mod_vhost_alias e VirtualDocumentRoot) qui:

link

    
risposta data 04.10.2013 - 10:49
fonte

Leggi altre domande sui tag