[Small Bites] Vagrant: Virtualbox ou VMWare?

2014 July 22, 19:10 h

Se você ainda não usa Vagrant como ambiente de desenvolvimento e testes, vá já instalar o seu!

Em seguida, garanta que você está usando NFS para a máquina virtual acessar seus arquivos no seu HD de verdade na maior velocidade possível.

Finalmente, a dúvida que você pode ter é: usar Virtualbox, que é open source e gratuito ou comprar o VMWare Fusion Provider a caros USD 79 e mais a licença do VMWare Fusion pra Mac que vai te custar outros USD 59.99, para um total de USD 138.99 !!??

O problema é que você pode decidir que é caro demais e que o Virtualbox é suficiente, mas aí sempre que sentir algo lento vai ficar pensando "será que vale a pena pagar os quase USD 140?"

A resposta TL;DR é simples: NÃO, fique no Virtualbox. O VMWare pode até ser mesmo um pouco melhor, e certamente se você quer usar Windows e ter uma boa integração entre desktops gráficos e tudo mais, acho que vale o custo. Mas para a maioria de nós, desenvolvedores, o custo certamente não compensa, não pare de se sentir com dor na consciência e aprecie o Virtualbox.

Como testes bem não-científicos, eu criei duas máquinas Vagrant usando o box 'hashicorp/precise64', com NFS habilitado e nada mais de customização.

Copiando arquivos, peguei um projeto Rails médio e o código-fonte do Rails e copiei do meu HD local, compartilhado via NFS, pro HD interno da máquina virtual. Respectivamente, no VMWare Fusion tive os tempos de 3 segundos e 6 segundos; já no Virtualbox tive os tempos de 4 segundos e 5.5 segundos.

Quando eu digo não-científico, entenda que ao mesmo tempo meu Dropbox está sincronizando, meus emails estão aparecendo, diversas abas em browsers devem estar atualizando algum conteúdo, e diversas outras coisas estão interferindo nesses tempos. Baseado nisso, pra mim foi empate.

Em seguida, tentei instalar o RVM com Rails:

1
time curl -sSL https://get.rvm.io | bash -s stable --rails

No VMWare Fusion, terminou em 15 minutos. No Virtualbox levou 10 minutos. Obviamente, o gargalo aqui não é performance da máquina virtual, mas sim o tempo de internet para download do Ruby, das Gems, etc. Mas coloquei esses tempos mais para demonstrar o ponto que muitos dos tempos do seu dia-a-dia dependem da qualidade da sua conexão de internet mais do que só performance bruta de hardware.

Finalmente, quando tempo para um mero comando "rails new", criando um novo projeto? Lembrando que ao final ele vai executar "bundle install" e, logo, será afetado por tempo de internet. No caso do VMware, levou 1 minuto e 1.2 segundos. No caso do Virtualbox, levou 1 minuto e 1.4 segundos. Novamente, empate.

Portanto, não, você não vai ter uma vantagem "milagrosa" só por pagar USD 140 e instalar o VMWare. Para sua máquina local, de desenvolvimento, melhor ficar no Virtualbox.

Quero testar eu mesmo!

Se não acreditou e tem USD 140 para investir, mãos à obra. Digamos que você já tem uma máquina virtual em Virtualbox, que montou manualmente (sem scripts de provisionamento), e quer migrar pro VMWare, como fazer?

Eu escrevi um pequeno Gist faz algum tempo, mas chegou a hora de colocar num post mesmo pra ficar mais fácil encontrar. Segue a transcrição:

Agora você mesmo pode rodar seus testes, não fique muito decepcionado se os tempos não forem tão diferentes. Mas se por acaso alguém souber de alguma situação específica onde o VMWare for ordens de grandeza superior ao Virtualbox, não deixe de comentar abaixo!

tags: obsolete vagrant

Comments

comentários deste blog disponibilizados por Disqus