¿Qué es una Máquina Virtual (MV)?

¿Qué es una máquina virtual (VM)? hero image

La forma más fácil de pensar en una máquina virtual (MV) sería como un ordenador dentro de un ordenador. La tecnología y la potencia de procesamiento actuales permiten ahora crear fácilmente entornos informáticos virtuales dentro de un ordenador "anfitrión". Sigue leyendo para saber qué significa esto y cómo puedes aprovechar esta tecnología.

Los sistemas operativos funcionan con un núcleo (un programa que controla las funciones necesarias y el acceso al hardware) y una estructura de archivos llena de programas y datos binarios.

Con la tecnología actual, ya es posible que un ordenador comparta sus recursos para ejecutar un núcleo y un sistema operativo independientes. En algunas redes empresariales, el alojamiento de máquinas virtuales puede ahorrar costes al aprovechar mejor el hardware.

O, a menor escala, un ordenador central puede emular software alternativo con fines de prueba, desarrollo, investigación o recreo.

A medida que aprendamos más sobre los entornos virtuales, querrás asegurarte de que comprendes bien qué es un servidor privado virtual y qué es un servidor bare metal.

¿Qué es una máquina virtual y cómo funciona?

Un servidor físico que crea y gestiona máquinas virtuales se denomina hipervisor. Un hipervisor puede trocear (o "particionar") una parte del espacio de disco y asignar memoria para que, en esencia, pueda ejecutarse un ordenador independiente dentro de un ordenador.

Gráfico de ejemplo de máquina virtual

¿Por qué utilizar varias máquinas virtuales en lugar de utilizar un ordenador distinto?

El software de virtualización puede ahorrar costes, dependiendo de cómo se asignen los recursos de tu servidor.

Por ejemplo, imagina que tienes un ordenador físico dedicado (o, un servidor bare metal dedicado) pero sólo utilizas una fracción de los recursos para tus aplicaciones principales. Con una arquitectura VM, podrías dividir un servidor bare metal en varios servidores y así ahorrar costes a largo plazo. Este enfoque no sólo optimiza la utilización de los recursos, sino que también presenta una ventaja de ahorro de costes a largo plazo. Sin embargo, es importante sopesar los pros y los contras de utilizar servidores bare metal en este contexto, teniendo en cuenta factores como el rendimiento, la seguridad y la escalabilidad para tus necesidades específicas.

¿Las máquinas virtuales son más lentas que un ordenador real?

La optimización de la velocidad depende de cómo haya asignado los recursos el ingeniero o el administrador del sistema. El uso adecuado de un hipervisor significa que todos los recursos se asignan correctamente para garantizar un rendimiento adecuado en todas las máquinas virtuales.

Hay muchos tipos diferentes de máquinas virtuales, pero dos tipos principales de hipervisores. En este artículo, nos referimos a los hipervisores del primer tipo, en los que un ordenador anfitrión se segmenta para alojar varias máquinas virtuales. Para la mayoría de las funciones empresariales de "computación en nube", como el proyecto OpenStack, éste es el tipo de hipervisor que se utiliza. Los costes reales del hardware pueden superar los costes de las múltiples máquinas virtuales.

Pero no siempre es así. A veces, el hipervisor (ordenador anfitrión) no es más que un ordenador de sobremesa normal que ejecuta software virtual. Por poner un ejemplo sencillo, la emulación de software se utiliza a menudo para jugar; con una VM, un jugador puede instalar y ejecutar juegos que se escribieron sólo para funcionar en una plataforma diferente. Por ejemplo, si tienes un sistema operativo Linux pero quieres ejecutar juegos de Windows, la emulación de software mediante una aplicación VM, VMware Workstation o VirtualBox, por ejemplo, puede ayudarte.

¿Para qué sirve una VM?

Las máquinas virtuales ayudan en diversas aplicaciones del mundo real.

Las máquinas virtuales se emplean a menudo para el desarrollo de software, la recuperación de datos y la computación en nube.

Desarrollo de software

Al crear y gestionar un entorno virtual, los desarrolladores pueden recrear condiciones precisas en varias estaciones de trabajo. De este modo, un programa informático puede probarse y cumplirse fácilmente en circunstancias reproducibles.

En el sentido más básico, este tipo de cumplimiento puede ayudar a los desarrolladores a evitar un escenario en el que el software funcione perfectamente en una estación de trabajo, pero no en otra diferente.

Básicamente, con una VM puedes hacer coincidir exactamente tu área de desarrollo con tu entorno de producción.

Con las máquinas virtuales, cualquier sistema operativo anfitrión puede ejecutar cualquier sistema operativo invitado.

Docker y Ansible

Programas como Docker y Ansible te permiten crear entornos de contenedores reproducibles, abiertos/cerrados y compartidos a través de tu red o con otros usuarios en estaciones de trabajo independientes.

Ansible proporciona una plataforma para crear y mantener especificaciones de servidores o máquinas virtuales. Docker maneja varios contenedores de software que pueden desplegarse en diversos entornos. Utilizados conjuntamente, puedes automatizar el aprovisionamiento de máquinas virtuales y contenedores de software.

En un escenario de ejemplo, Ansible utiliza un "inventario" para hacer un seguimiento del tipo de pila de servidores que quieres replicar. Por ejemplo, si quieres un inventario que conste de todo lo necesario para un servidor web básico (Linux, MySQL, PHP, Apache y quizás Nginx), puedes utilizar el inventario de Ansible para reflejar estos paquetes. Ansible utiliza el lenguaje de programación YAML para construir el inventario.

Todo lo que tienes que hacer en este caso es añadir estas piezas de software a tu inventario y Ansible podrá ponerlas en marcha en un entorno virtual. Del mismo modo, el mismo inventario podría utilizarse en un servidor físico para hacer girar varias máquinas virtuales.

A menor escala, puedes utilizar Docker localmente para crear rápidamente contenedores virtuales de software. Por ejemplo, si quieres probar algo en una instalación Linux nueva, puedes utilizar Docker para crear las dependencias necesarias. Esto es, en esencia, una instancia virtual, porque no es un sistema informático independiente, sino que requiere el ordenador anfitrión para ejecutarse.

Máquinas virtuales y recuperación de datos

Las máquinas virtuales pueden utilizarse para recuperar datos actuando como contenedores de almacenamiento virtual. Aplicaciones como VMware, VirtualBox y Virtuozzo, pueden utilizarse para lanzar y gestionar entornos virtuales a través de una red de hardware físico.

Utilizar una máquina virtual como disco de copia de seguridad puede proporcionar una capa adicional de seguridad, al separar el sistema de recuperación de datos del entorno de producción en vivo. Esto también reduce el impacto de cualquier software comprometido o de los exploits del sistema.

Computación en nube en plataformas VM

Las máquinas virtuales desempeñan un papel clave en lo que se ha dado en llamar "computación en nube".

Los servicios de datos a gran escala pueden ahora gestionar una flota masiva de ordenadores y vender espacio en su infraestructura para ordenadores virtuales. (Esto es lo que puedes oír llamar "Infraestructura como servicio" o "IAAS").

¿Son seguras las máquinas virtuales?

A medida que las organizaciones aprovechan cada vez más el poder de la virtualización, surge una pregunta fundamental: ¿Son seguras las máquinas virtuales? Explorar el panorama de la seguridad de las máquinas virtuales revela una imagen llena de matices en la que las ventajas a menudo superan a los riesgos.

Mecanismos de aislamiento

Una de las características de seguridad fundamentales de la virtualización es el aislamiento que proporciona entre las máquinas virtuales. Cada VM funciona de forma independiente, encapsulada respecto a otras en el mismo host. Este aislamiento ayuda a contener las posibles brechas de seguridad dentro de una única VM, evitando que se propaguen a toda la infraestructura. A pesar de ello, es esencial reconocer que la eficacia del aislamiento depende de la robustez de la plataforma de virtualización y de su configuración.

Vulnerabilidades del hipervisor

El hipervisor, también conocido como monitor de máquina virtual (VMM), es un componente crítico que gestiona y asigna recursos entre las máquinas virtuales. Cualquier vulnerabilidad en el hipervisor puede plantear importantes riesgos de seguridad, ya que comprometerlo podría permitir el acceso no autorizado a múltiples máquinas virtuales. Para mitigarlo, los hipervisores se someten a rigurosas pruebas de seguridad, y las actualizaciones periódicas son cruciales para parchear cualquier vulnerabilidad identificada.

Recursos compartidos y ataques de canal lateral

Las máquinas virtuales comparten recursos físicos como CPU, memoria y almacenamiento en la máquina anfitriona. Aunque existen mecanismos para garantizar una asignación equitativa, existe la posibilidad de que se produzcan ataques de canal lateral, en los que una máquina virtual podría explotar los recursos compartidos para obtener información de otra. Mitigar estos riesgos implica una cuidadosa configuración de la asignación de recursos y la aplicación de medidas de seguridad para contrarrestar las posibles vulnerabilidades de canal lateral.

Si estás revisando plataformas de alojamiento y la seguridad es tu prioridad, quizá te interese leer más sobre la seguridad de los servidores bare metal.

¿Cuántos tipos de máquinas virtuales hay?

Como las máquinas virtuales son básicamente contenedores en un ordenador que ejecutan software, hay demasiados tipos de máquinas virtuales para enumerarlos.

Lo más habitual es que el ordenador hipervisor ejecute software de código abierto como OpenStack para gestionar las máquinas virtuales.

En cuanto a las propias máquinas virtuales, las posibilidades son ilimitadas. Todo depende del sistema operativo y de tu configuración personalizada.

Por ejemplo, podrías instalar una máquina virtual que ejecute un sistema operativo Linux popular, como Ubuntu. Luego puede haber variaciones más allá de eso.

Del mismo modo, podrías tener una instalación personalizada de Ubuntu con una larga lista de paquetes de software favoritos preinstalados. Consulta nuestras guías sobre Ansible y Docker para obtener más información sobre cómo conseguirlo.

El nivel de personalización es ilimitado, por lo que las máquinas virtuales están esencialmente limitadas sólo a los recursos disponibles en el ordenador anfitrión.

Comparte este artículo

One thought on "¿Qué es una máquina virtual (MV)?"

  1. Pingback: ¿Qué es una máquina virtual? | WP FeedBack

Deja una respuesta

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *.