VirtualBox

Published 90 weeks, 1 day ago
Mon Jan 15 2007
Cuando empezaba en esto del desarrollo, trabajaba para una empresa que (entre otras cosas) vendía una solución de software para la personalización de tarjetas de plástico. Dicha solución era genérica (lo que los anglosajones llaman off-the-shelf software o shrinkwrap. Vamos, un programa genérico que los clientes compraban tal cual, como podrían comprarse un Office, por ejemplo; en lugar de una solución específica para cada cliente.

Como podréis imaginar, dicho software debía instalarse de forma fácil y sencilla y no requerir componentes adicionales. Para asegurarnos de ello, cada vez que se compilaba una nueva versión se hacían pruebas de compatibilidad: en mi mesa tenía cuatro ordenadores, uno para desarrollo y otras tres máquinas un poco más viejas para pruebas. Una de las máquinas tenía un Windows 95, otra un Windows 98 y otra un Windows NT; y cada una de ellas no tenía nada más que el sistema operativo y los drivers correspondientes instalados. Nuestro software debía funcionar en máquinas desnudas, y cada nueva versión que realizábamos teníamos que formatear las máquinas de prueba y reinstalar el sistema operativo, para asegurarnos de un funcionamiento perfecto. El proceso se repetía tanto que llegué a saberme de memoria los números de serie de cada uno de los SOs.

Conseguimos agilizar bastante el proceso gracias a Norton Ghost: se hacía una imagen del SO "desnudo" por cada máquina y después de las pruebas de instalación de nuestro software, se reinstalaba desde la imagen de Ghost.

Pero seguía siendo un coñazo.

Lo que no hubiera dado en aquellos días por software de máquinas virtuales: por aquél entonces o no existía o yo no lo conocía. Para los que no sepáis de lo que hablo, las máquinas virtuales son programas que crean un entorno virtual entre tu hardware físico y el sistema operativo instalado en dicho hardware; y en ese espacio virtual puedes instalar un sistema operativo completamente distinto al instalado físicamente, en un entorno completamente cerrado. Puedes tener un Windows Server 2003 dentro de un Windows XP, por ejemplo.

Sencillamente, se asigna dentro del disco duro de tu equipo un fichero que va a funcionar como disco duro de la máquina virtual; y se le asigna a la máquina virtual una cantidad de memoria RAM (que saldrá del total de la memoria RAM física del equipo, por lo que cuanta más RAM tengamos, mejor). Pueden también montarse unidades de CD y floppy virtuales, permitir que la máquina virtual tenga o no acceso a la red, etc. Para instalar un sistema operativo basta con montar un fichero ISO de auto-arraque en el CD virtual y arrancar la máquina virtual. A partir de ahí, podremos seguir las instrucciones de instalación como si tuviéramos, en efecto, un ordenador dentro de nuestro ordenador.

He usado principalmente dos entornos de virtualización: Microsoft Virtual PC, que en su versión 2004 es completamente gratuito (la 2007 es de pago) y que es un muy buen entorno de virtualización, de hecho es el que ahora utilizo en el trabajo.

Y el que acabo de probar en casa es InnoTek VirtualBox, que es Open Source y gratuito, para un entorno personal. Al menos en mi caso, lo importante es lo segundo: francamente no me veo con nivel como para entender, y mucho menos modificar, el código fuente de una de estas cosas.

De hecho, estoy escribiendo esta entrada desde una máquina virtual montada con VirtualBox y que está corriendo un Ubuntu Dapper Drake. No, no vuelvo a las andadas: es lo que tenía a mano para probar VirtualBox. En realidad, el objetivo en los próximos días es instalar Vista. =)

Así que si no conocíais el software de virtualización, mi consejo es que probéis cualquiera de los dos reseñados: ambos son sencillos e intuitivos de manejar, y mediante la virtualización disponemos de un entorno en el cual probar y cacharrear sin peligro.