Virtualización, contenedores y Computo en la nube

La virtualización es la abstracción de los recursos de una computadora.

El Hypervisor o VMM (Virtual Machine Monitor) crea una capa entre el hardware de la máquina física y el sistema operativo de la máquina virtual, dividiendo los recursos en uno o más entornos de ejecución, esto puede variar dependiendo la cantidad de memoria del dispositivo físico.

Virtualizando un equipo físico, podemos manejar más de un recurso, un ejemplo, crear un servidor de máquinas virtuales para albergar servidores web, servidores de base de datos, servidores de video, servidores de archivos, etc.

Para realizar este proceso se necesita un hypervisor que emule las máquinas virtuales que necesitamos tener en nuestro equipo, existen diferentes hypervisores y todos comparten algunas características, una vez creada una máquina virtual se le asignan los recursos de la máquina física para poder realizar actividades como un equipo independiente, una de las ventajas de hoy en día es que si requiere más recursos estos pueden ser escalables.

La máquina virtual solo hará uso de sus recursos asignados, el sistema operativo anfitrión no podrá hacer uso de los recursos previamente asignados.

Algunos ejemplos que nos permiten hacer máquinas virtuales son:

  • VirtualBox
  • VMware
  • Xen
  • Qemu

Las máquinas virtuales se pueden clonar para facilitar el uso de plantillas con una configuración determinada, solo hay que tener en cuenta que hay algunos identificadores en los sistemas operativos que deben ser únicos, tal como la MAC Address de las tarjetas de red o el ID del sistema.

Un concepto que va de la mano con la virtualización y esta teniendo mucho de que hablar en los ultimos años son los contenedores.

Los contenedores de Linux permiten empaquetar y aislar aplicaciones con todo su entorno de ejecución, es decir, todos los ficheros necesarios para que puedan ser ejecutados.

Estos contenedores no emulan el hardware ni el kernel del Sistema Operativo anfitrión, lo que hacen es aislar aplicaciones con todo el entorno de ejecución que las aplicaciones necesitan, sobre un mismo sistema operativo anfitrion podemos instalar un contenedor dentro y este tendre el entorno de ejcución necesario para poder desplegar un servidor, una aplicación, etc, para que funcione.

Una de las ventajas e sque consumen menor recurso porque no meten la capa del hypervisor.

Algunos ejemplos de contenedores son:

  • Docker
  • LXC

Veamos una comparación de la virtualización y los contenedores.

Virtualization Containers
Server Hardware Server Hardware
Host OS Host OS
Hypervisor Binaries / Libraries Binaries / Libraries Binaries / Libraries
Guest OS Guest OS Guest OS App App App
Binaries / Libraries Binaries / Libraries Binaries / Libraries  
App App App

Se observa que para los contenedores no se requiere de un virtualizador y otros sistemas operativos totalmente independientes.

Otras alternativas son el Cloud Computing.

IaaS (Infrastructure as a Service – Infraestructura como servicio)

Es un proveedor que ofrece alquilar parte de su infraestructura informática (servidores, redes, conexión a internet, etc.)

Ventajas

  • Se paga por el hardware según las necesidades del momento. Fácilmente escalable.
  • Ahorra el coste de comprar y mantener su propio hardware.
  • Suele estar virtualizado por lo que facilita la instalación, duplicado y movilidad de sistemas operativos o programas de aplicación.

Ejemplos:

  • Amazon AWS
  • Microsoft Azure

Para gestionar las conexiones a las instancias de los sistemas operativos contrataos suelen usar unas claves ssh para establecer una conexión segura con el servidor.

Related Posts

Deja una respuesta

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