Introducción

Antes de comenzar debemos responder a la pregunta más importante: ¿qué es la virtualización? La mayoría de personas que alguna vez hayan entrado al mundo de la informática de una forma algo más profunda, más allá del uso cotidiano, habrá trabajado con “máquinas virtuales”, que son precisamente un ejemplo de virtualización.

Esta tecnología consiste en crear un “pc virtual” dentro de nuestro sistema operativo y aparece como respuesta a la necesidad de muchos desarrolladores de crear un entorno controlado en el que probar sus creaciones, aislado de todo su sistema para evitar colisiones no deseadas, o para establecer unas condiciones de hardware más limitadas a las disponibles. Sin embargo, con el tiempo se ha generalizado su uso y en la actualidad cualquier tipo de usuario con conocimientos limitados es capaz de crear una instancia virtualizada de Windows por ejemplo.

Al facilitarse la barrera de entrada que había anteriormente se abre la posibilidad de que estos usuarios puedan hacer uso de estas máquinas virtuales, pero ¿por qué deberían usarlas?¿Qué aportan más allá del desarrollo? Para entender esto primero debemos ver cómo funcionan.

 

Detalles de la virtualización

La virtualización es un campo amplio, y por ello es muy complicado de resumir en un solo post. En esta ocasión, me limitaré a explicar los detalles más superficiales de esta tecnología, solo lo necesario para entender porqué es tan importante y potente, y en futuros post de este blog se ampliará al respecto.

Lo primero de todo es saber que esta “máquina virtual” o entorno que crearemos lógicamente está soportado por nuestro hardware y nuestro sistema operativo, que a partir de ahora llamaré Host. En la actualidad no importa que sistema sea el host, ya que existen software de virtualización para todos, sin embargo sí es importante tener un hardware acorde a la tarea que queremos desempeñar. En la virtualización siempre se avisa de que es necesario tener unas especificaciones un poco más altas de lo que requiere la tarea a realizar, esto se justifica debido a que cuando creamos este entorno lo que hacemos realmente es lanzar otro sistema operativo en nuestro host. Así, para nuestro hardware aparece un programa mucho más grande de lo habitual. (Cabe destacar que esto es una modalidad de las muchas que existen en virtualización, ya que hay otras formas más complejas pero más eficientes)

Este segundo sistema que generamos será el Guest, usará al host como intermediario para comunicarse con el hardware, pero esto será tarea del software de virtualización, ya que para el guest esta operación es invisible. Este hecho nos permite crear una “burbuja” en la que tenemos un sistema operativo como si de un equipo se tratase, pero con la facilidad de dos clicks para borrarlo o restaurarlo a versiones anteriores.

 

¿Por qué es tan importante hacer uso de la virtualización?

Conociendo ya como funciona, al menos la base de su puesta en marcha, podemos llegar a pensar en varios usos fuera de la programación.

En primer lugar, por lo que a día de hoy más se usa es para la ejecución de software disponible sólo en sistemas operativos diferentes al nuestro. Ejemplo muy común, como usuario de mac OS queremos usar un programa solo disponible para Windows, en este caso podemos crear un entorno Windows dentro de nuestro mac OS y ejecutar ese programa sin problema alguno. Otro ejemplo podría ser estar en un Windows como sistema y necesitar cierta funcionalidad solo disponible en un Linux. Como estos muchos otros ejemplos pueden suceder, y para esto la virtualización es la solución más cómoda y efectiva, por no decir económica.

Por otro lado tenemos la seguridad, todos alguna vez hemos hecho uso de internet para descargar archivos o programas de fuentes de dudosa procedencia, y esto suele ser la principal causa de infección de virus para nuestro PC, originando desde pérdidas de datos hasta colapsar el PC completo y hacerlo irreparable. Ante esto, si creamos un sistema paralelo en el que probamos estas descargas aislamos ese virus de forma que lo peor que puede pasar es que rompa esa máquina virtual, pero no afectará en nada a nuestro sistema. Es más, esta técnica es muy usada por expertos en ciberseguridad para analizar virus y crear contramedidas a ellos.

Por estos motivos y más, como podrían ser la limpieza de nuestro sistema, no creamos archivos basura si queremos probar un programa que finalmente desinstalamos, la virtualización es algo que cualquier usuario puede usar y debería usar en su día a día.


Creado por Jorge Martínez de la Chica el día 2022-02-24.