it-swarm-es.com

¿Alguien usa máquinas virtuales para el desarrollo web y por qué?

Veo algunos desarrolladores a los que les gusta usar máquinas virtuales para el desarrollo web. ¿Hay otros que hagan esto? Si los hay, ¿por qué lo haces? ¿Hay ventajas/desventajas de desarrollar en un VM en lugar de en un entorno no virtualizado?

Creo que las cosas son más lentas en una máquina virtual.

10
7wp

Utilizo máquinas virtuales para IE pruebas. Tengo una máquina Windows dedicada, pero me inclino por usar máquinas virtuales por algunas razones:

  • Es complicado cambiar de computadora, incluso si está a tu lado
  • Es extremadamente fácil revertir un VM para tener un entorno de prueba limpio
  • Prefiero usar un entorno en el que los usuarios sean en realidad van a usar en lugar de kludges como IETester, y generalmente no se pueden ejecutar múltiples versiones de IE al mismo tiempo .
  • Es más barato ejecutar varias instancias VM que comprar varias computadoras de prueba
  • Las máquinas virtuales, al menos las de Mac OS X, se han vuelto tan buenas en los últimos años que el estigma de "lentitud" que se les da a las máquinas virtuales es injustificado.
20
user8

La otra razón por la que la gente usa VM para el desarrollo web es para virtualizar un entorno de servidor que puedan apagar con mucha facilidad).

En casa siempre uso un VM para configurar proyectos personales, de modo que pueda apagarlo todo por completo cuando quiero, digamos, jugar un juego. En un entorno de trabajo, es posible que desee convertir desactívelo para que tenga todos los recursos para transcodificar un video a FLV.

Simplemente le brinda esa flexibilidad para hacer lo que quiera con sus recursos.

7
Matthew Scharley

Prefiero usar máquinas virtuales para casi todo el desarrollo ... especialmente cuando trabajo con un equipo de desarrolladores. Las máquinas virtuales me permiten crear un "entorno en una caja" que se puede configurar rápidamente con poco dolor de cabeza. Dado que uso un MBP como mi máquina principal, prefiero VMWare ... es mucho menos doloroso, especialmente en un entorno "principalmente Windows".

En lo que respecta a la velocidad, honestamente varía de una configuración a otra. Los únicos problemas reales que he visto con VM velocidad implican a.) No tener suficientes recursos físicos (memoria, etc.) ob.) No asignar suficientes recursos a su VM. De lo contrario, prefiero trabajar en Windows VM en mi Mac que trabajar en una caja nativa.

3
Casey

Los entornos de prueba son importantes, como han mencionado otros.

  • pruebas de navegador (es decir, safari, etc, ...)
  • entorno de prueba limpio
  • fácil de tener múltiples configuraciones
  • pruebas de accesibilidad (lectores de pantalla y similares)

Tengo una VM estrictamente para perfilar y depurar mi código que ya tiene kcachegrind configurado, junto con Selenium, xdebug y algunas otras herramientas configuradas para perfilar y depurar mi código fácilmente. Sí, algunos pueden decir esto es lo que ya sería un entorno de desarrollo, pero personalmente me gusta tener una VM en mi escritorio dedicada a este tipo de tarea.

Además, con respecto a la lentitud en una VM:

Las cosas son más lentas en una VM debido a la sobrecarga que requiere "virtualizar" el entorno. Sin embargo, la VM se está acercando cada vez más al hipervisor que disminuye la sobrecarga requerida para la VM.

2
Chris

Utilizo máquinas virtuales todo el tiempo. Para propósitos de prueba, el razonamiento es obvio, pero también lo uso para mi entorno de desarrollo real, principalmente porque 1) hace que la migración a nuevo hardware sea una obviedad, y 2) me brinda una "instantánea" fácil (o - conjunto de instantáneas) recurre según sea necesario para esas configuraciones de mi entorno de desarrollo. Mis necesidades pueden ser únicas: soy principalmente un desarrollador de Delphi que usa múltiples versiones de Delphi y muchos componentes de terceros, pero la cantidad de tiempo y el dolor de cabeza que tengo mi entorno de desarrollo dentro de una máquina virtual ha ahorrado, probablemente no podría ser exagerado.

Dicho esto, no escatime en la caja en la que los ejecuta, especialmente cuando se trata de memoria. ; )

2
Jamo

He descubierto que el uso de máquinas virtuales es una buena forma de mantener una configuración de desarrollo específica para el cliente.

En una empresa de consultoría anterior, los desarrolladores sabían que activar un VM específico) significaba que tenía un entorno de trabajo para desarrollar/probar e implementar el software que admitíamos para ese cliente. Particularmente útil cuando se brinda soporte a un verdadero bicho raro sistemas.

Para aplicaciones nuevas, tendría la configuración más reciente y mejor en su máquina de desarrollo principal. Pero, ¿qué sucede cuando necesita corregir un error en alguna aplicación VB6 antigua que su empresa aún admite? ¿Le gustaría instalar Visual Studio 6 en su hermosa máquina VS2010 limpia? ¡No lo creo!

También significó que era bastante fácil para cualquier desarrollador apoyar a cualquier cliente.

1
davewasthere

Esta es una respuesta tardía. Estoy de acuerdo con todos los puntos de la respuesta aceptada, pero quería agregar que uso máquinas virtuales exclusivamente para desarrollo web, y no solo para pruebas. Estoy en un iMac usando VirtualBox para ejecutar Windows, Fedora y Ubuntu, a veces todos a la vez. No tengo ningún problema con el rendimiento.

Prefiero trabajar de esta manera porque trabajo para clientes que ejecutan servidores Fedora y Ubuntu y me permite hacer coincidir estrechamente el entorno de desarrollo con el entorno de producción. También me convierte en un mejor administrador de sistemas en las áreas que son más importantes desde el punto de vista del desarrollo.

1
bogeymin

Utilizo una máquina virtual para asignar subdominios de virtualbox.me (soy el propietario del dominio) a subdirectorios de una carpeta en mi máquina host compartida con el invitado.

Con esta configuración, simplemente creo un nuevo directorio e inmediatamente tengo un nuevo proyecto bajo su propio subdominio, es decir,/home/pete/virtualwww/my-super-project se asigna a http: // my-super-project. virtualbox.me/

He escrito una guía para replicar esto (usa mod_vhost_alias y VirtualDocumentRoot) aquí:

http://otaqui.com/blog/1652/setting-up-a-virtualbox-virtual-machine-for-web-development-with-multiple-sites-using-mod_vhost_alias-and-virtualdocumentroot/ =

0
pete otaqui

Ciertamente he usado máquinas virtuales para probar sitios web, pero no para escribir código.

El beneficio de las máquinas virtuales es que puede tener diferentes sistemas operativos y navegadores configurados para probar los inevitables errores de CSS que descubrirá en IE6/7/8.

0
David_001

No veo una razón para desarrollar sitios web en una máquina virtual, no es necesario para un usuario de Windows.

Puede ejecutar todo en una instalación de Windows (IE portátiles, Chrome, Firefox, Safari, ...),
como alternativa, podría usar Expression SuperPreview para ingresar a un nuevo mundo de pruebas entre navegadores.

0
Tamara Wijsman