Eu vejo alguns desenvolvedores que gostam de usar máquinas virtuais para desenvolvimento web. Existem outros que fazem isso? Se houver, por que você faz isso? Existem prós / contras no desenvolvimento de uma VM em vez de em um ambiente não virtualizado?
Eu acho que as coisas são mais lentas em uma VM.
Respostas:
Eu uso VMs para teste do IE. Eu tenho uma máquina Windows dedicada, mas me inclino a usar VMs por alguns motivos:
fonte
A outra razão pela qual as pessoas usam uma VM para desenvolvimento da Web é virtualizar um ambiente de servidor que pode desativar com muita facilidade.
Em casa, eu sempre uso uma VM para configurar projetos pessoais, para poder desligar tudo quando quiser, digamos, jogar um jogo. Em um ambiente de trabalho, você pode desativá-lo para ter todos os recursos para transcodificar um vídeo em FLV.
Ele apenas oferece flexibilidade para fazer o que você deseja com seus recursos.
fonte
Prefiro usar VMs para praticamente todo o desenvolvimento ... especialmente quando estou trabalhando com uma equipe de desenvolvedores. As VMs permitem criar um "ambiente em uma caixa" que pode ser configurado rapidamente com pouca dor de cabeça. Como uso o MBP como minha máquina principal, prefiro o VMWare ... é muito menos doloroso, especialmente em um ambiente "principalmente Windows".
No que diz respeito à velocidade, ela varia honestamente de instalação para instalação. Os únicos problemas reais que eu já vi com a velocidade da VM envolvem: a) não ter recursos físicos suficientes (memória, etc.) ou b.) Não alocar recursos suficientes para a sua VM. Caso contrário, eu realmente prefiro trabalhar em uma VM do Windows no meu Mac do que trabalhar em uma caixa nativa.
fonte
Os ambientes de teste são grandes, como outros já mencionaram.
Eu tenho uma VM estritamente para criar perfil e depurar meu código, que já tem o kcachegrind configurado, junto com selenium, xdebug e algumas outras ferramentas configuradas para criar um perfil e depurar facilmente meu código. Sim, alguns podem dizer que isso já seria um ambiente de desenvolvimento, mas pessoalmente eu gosto de ter uma VM no meu desktop dedicada a esse tipo de tarefa.
Além disso, em relação à lentidão em uma VM:
As coisas são mais lentas em uma VM devido à sobrecarga necessária para "virtualizar" o ambiente. No entanto, a VM está se aproximando cada vez mais do hypervisor, o que diminui a sobrecarga necessária para a VM.
fonte
Eu uso máquinas virtuais o tempo todo. Para fins de teste, o raciocínio é óbvio, mas eu também o uso no meu ambiente de desenvolvimento real, principalmente porque 1) torna a migração para o novo hardware um acéfalo e 2) fornece um "instantâneo" fácil (ou conjunto de instantâneos) retornam ao necessário para essas configurações do meu ambiente de desenvolvimento. Minhas necessidades podem ser únicas - eu sou principalmente um desenvolvedor Delphi usando várias versões do Delphi e vários componentes de terceiros - mas a quantidade de tempo e dor de cabeça que meu ambiente de desenvolvimento dentro de uma máquina virtual salvou, provavelmente não poderia ser exagerado.
Dito isto, não economize na caixa em que os executa, especialmente quando se trata de memória. ; )
fonte
Esta é uma resposta tardia. Concordo com todos os pontos da resposta aceita, mas queria acrescentar que uso VMs exclusivamente para desenvolvimento da Web, e não apenas para teste. Estou em um iMac usando o VirtualBox para executar o Windows, Fedora e Ubuntu - às vezes ao mesmo tempo. Não tenho problemas com o desempenho.
Prefiro trabalhar dessa maneira porque trabalho para clientes que executam servidores Fedora e Ubuntu e isso me permite corresponder estreitamente o ambiente de desenvolvimento ao ambiente de produção. Também me torna um melhor administrador de sistemas nas áreas mais importantes do ponto de vista do desenvolvimento.
fonte
Encontraram o uso de VMs uma boa maneira de manter uma configuração de desenvolvimento específica do cliente.
Em uma empresa de consultoria anterior, os Devs sabiam que iniciar uma VM específica significava que você tinha um ambiente de trabalho para desenvolver / testar e implantar o software suportado para esse cliente. Particularmente útil quando se suporta alguns sistemas reais de excêntricos.
Para novos aplicativos, você teria a melhor e mais recente configuração na sua máquina Dev principal. Mas e quando você precisa corrigir um aplicativo VB6 antigo que sua empresa ainda suporta. Gosta de instalar o Visual Studio 6 em sua adorável máquina VS2010 limpa? Acho que não!
Também significava que era muito fácil para qualquer desenvolvedor dar suporte a qualquer cliente.
fonte
Eu certamente usei máquinas virtuais para testar sites, mas não para escrever código.
O benefício das máquinas virtuais é que você pode ter diferentes sistemas operacionais e navegadores configurados para testar os inevitáveis erros de CSS que você descobrirá no IE6 / 7/8.
fonte
Não vejo uma razão para desenvolver sites em uma máquina virtual, não é necessário para um usuário do Windows.
Você pode executar tudo em uma instalação do Windows (Portable IEs, Chrome, Firefox, Safari, ...). Como
alternativa , você pode usar o Expression SuperPreview para entrar em um novo mundo de testes entre navegadores.
fonte
Eu uso uma máquina virtual para mapear subdomínios do virtualbox.me (eu possuo o domínio) para subdiretórios de uma pasta na minha máquina host compartilhada com o convidado.
Com essa configuração, eu apenas crio um novo diretório e imediatamente tenho um novo projeto em seu próprio subdomínio, por exemplo, / home / pete / virtualwww / my-super-project maps to http://my-super-project.virtualbox.me/
Eu escrevi o guia para replicar isso (ele usa mod_vhost_alias e VirtualDocumentRoot) aqui:
http://otaqui.com/blog/1652/setting-up-a-virtualbox-virtual-machine-for-web-development-with-multiple-sites-using-mod_vhost_alias-and-virtualdocumentroot/
fonte