Blogia
Desarrollo de Software y formación en Zaragoza

Uso de máquinas virtuales (VMware, Virtual PC) para programación y desarrollo de software

Windows XP Running On Linux (by paradoxperfect via Flickr))

En los cursos oficiales de certificación de Microsoft es patrón común el uso de máquinas virtuales, donde el alumno tiene un entorno de trabajo ya correctamente configurado, con las herramientas, bases de datos, componentes y servicios del sistema operativo perfectamente funcionando. 

Esto nos evita a los organizadores del curso innumerables horas muertas teniendo que instalar paquetes de software, lidiar con problemas de sistemas operativos, particularidades de cada máquina, virus, drivers, etc.

También soy partidario del uso de máquinas virtuales para programar aplicaciones de software. Cierto que estamos sufriendo una merma de rendimiento, pero con el precio que el hardware tiene estos días este problema puede resolverse aumentando la potencia de tu máquina (sobre todo un HD rápido y mucha RAM!), con una inversión modesta.

Las ventajas de desarrollar software en una máquina virtual son varias:

  • Permite tener un ambiente de trabajo permanente y garantizado, con el sistema operativo adecuado en cada caso, independientemente del sistema host que corre el equipo. Ej: Puedes tener un equipo usando Windows Vista pero desarrollar en Windows XP, o Ubuntu, etc..
  • Fácilmente puedes volver a versiones anteriores de tu máquina virtual (usando Snapshots o copias de tus discos duros virtuales), caso tu máquina virtual se corrompa, sufras virus, dañes la configuración, instales algo que no deberías, etc.. 
  • Puedes utilizar la misma máquina virtual de desarrollo en cualquier máquina física (Ej: desarrollar en el equipo de escritorio, continuar con entorno idéntico en el portátil, etc).
  • La ley de Murphy dice que tu máquina de desarrollo quemará el disco duro principal justo unos días antes de una entrega. Usando máquinas virtuales, simplemente necesitas cambiar el disco duro e instalar un sistema operativo básico en la máquina, el resto de software y componentes lo tienes en la máquina virtual, que copias en 10 minutos.
  • En grupos de trabajo grandes, permite disponer de una máquina de desarrollo a punto y configurada en pocos minutos (nuevos miembros en el equipo, por ejemplo)
  • Permite simular entornos de red heterogéneos, en tu propia máquina (Ej: trabajar con una base de datos MySQL en Linux, mientras conectas en otra máquina virtual con Microsoft Visual Studio sobre Windows), todo en la misma máquina física.

Unos consejos basados en mi experiencia:

  • Utilizar dos discos duros independientes, uno para sistema y el otro para los archivos de la máquina virtual.
  • Mantened los discos duros siempre correctamente defragmentados (el HD virtual también!)
  • Merece la pena comprar un disco duro rápido, de 10k o 15k revoluciones por minuto, tipo SAS, raptor o similar. Os garantizo que el aumento de rendimiento al programar amortiza la diferencia de precio en pocas semanas o meses.
  • Usar una cantidad suficiente de RAM. A ser posible usar un sistema operativo que permita gestionar más de 4Gb de RAM, como Windows Vista 64 bits (hasta 8 Gb de RAM), como SO principal de vuestra máquina. De esta manera, podréis tener 2 máquinas virtuales funcionando simultáneamente con 2Gb de RAM cada una, mas 2-4 Gb de RAM para el SO host.
  • La velocidad de la CPU no es lo más importante. Mejor gastar el dinero en un disco duro rápido extra y mayor cantidad de RAM. Pero si tenéis presupuesto extra, lógicamente más velocidad de CPU ayudan (y sobre todo una CPU con varios núcleos, de manera que puedan ejecutarse procesos e hilos de manera simultánea - esto tiene relevancia al programar "threads")

2 comentarios

QuohonsInhets -

Hey I am new here. I have found something very interesting. Can you save $500+ by Christmas? You can try and here's how.
Stop paying for things you don't use. If you have not set foot in the gym since your New Year's resolution, ditch it. Cancel the subscriptions for magazines and papers you don't read. You can also raise your deductibles for home and auto insurance. Conservatively, that's $50 a month.

Administrador www.cincolinks.com -

Enhorabuena por tu blog, te invito a que te pases por el directorio web/blog www.cincolinks.com podrás promocionar tu web, con tu ficha y tus votaciones y valoraciones, con un método de intercambio de visitas llamado 5links! con el que tu blog será visitado tanto como visites a los demás y que harán que tu blog se de a conocer por toda la red. Pásate ;)

Creo que tu blog encajará perfectamente en la comunidad, y el foro estará encantado de recibirte.

Saludos, espero verte por www.cincolinks.com.