Lanner

Máquinas Virtuales vs. Contenedores Docker: ¿Cuál es la diferencia en su rendimiento

Virtual Machines vs Docker Containers

Durante muchos años empezamos a buscar la “virtualización” de computadoras, es decir, tener la posibilidad de poder utilizar diferentes computadoras “virtuales” dentro de una misma computadora física. Que se realiza con software que simula tener más de un entorno informático, con su propio sistema operativo, programas, procesos y archivos. Ahora existe la posibilidad de poder cambiar de una sola computadora física, incluso de una computadora virtual a otro para realizar un proceso específico. Esto trajo grandes ventajas no sólo técnicas, sino también prácticas y económicas.

Pero esta tecnología que nos permite trabajar con múltiples máquinas virtuales (VM’s) no se ha detenido ahí, sino que ha habido otras nuevas tecnologías que también funcionan en el entorno virtual pero de forma diferente. Hablemos también de los contenedores.

¿Cómo funcionan exactamente una máquina virtual y un contenedor? ¿En qué se diferencian y qué ventajas tiene uno sobre el otro? Hablemos primero de las máquinas virtuales.

Máquinas Virtuales

Una máquina virtual es aquella que emula a una computadora completa. En palabras muy sencillas, se trata de un software que puede hacerse pasar por otro dispositivo -como un PC- de tal forma que se puede ejecutar otro sistema operativo dentro de él. Tiene su propio disco duro, memoria, tarjeta gráfica y otros componentes de hardware, aunque todos ellos son virtuales.

Cuando decimos que sus componentes son virtuales no significa que no existan físicamente. De hecho, los recursos de hardware instalados en la computadora física se distribuirán en las máquinas virtuales disponibles. Por ejemplo, supongamos que tenemos un PC de escritorio con 8 GB de RAM y 500 GB de disco duro. Ahora imagina que hemos creado una máquina virtual dentro de nuestro sistema operativo de PC y que queremos asignar RAM y espacio en el disco duro. Tal vez podamos asignar 4Gb de RAM y 100Gb de disco duro. Eso dejaría nuestro PC “host” con sólo 6Gb de RAM y 400 Gb de Disco Duro. Esto es muy beneficioso porque podemos trabajar con diferentes máquinas virtuales para diferentes propósitos e incluso con diferentes sistemas operativos, aunque no sean los mismos que el PC físico. Como por ejemplo, podemos tener una máquina virtual con Linux ejecutándose en una computadora con Windows. La siguiente imagen muestra un ejemplo de cómo se configuran 2 máquinas virtuales en un PC:

Esta tecnología ha sido muy beneficiosa, especialmente en entornos de servidores por las siguientes razones:

En el caso de los servidores, es posible que ni siquiera necesitemos un sistema operativo, sino que pongamos el software VM Host directamente y creemos las máquinas virtuales allí mismo, como se puede ver en la siguiente imagen:

Contenedores Docker

Docker es una plataforma de software de código abierto donde podemos crear “contenedores”, cuya definición simple es una máquina virtual más ligera, lo que significa que es menos exigente con los recursos de la computadora física donde se ejecutan. Esto ha sido especialmente útil para los desarrolladores que quieren probar o utilizar sus aplicaciones en cualquier entorno. Algunos de los beneficios de los contenedores Docker son:

Mientras que en las máquinas virtuales tenemos software de host de máquinas virtuales (Hypervisor) en contenedores, tenemos un motor de contenedores que está acostumbrado a ejecutar y terminar el contenido. El siguiente diagrama es una representación visual de la estructura de los contenedores Dockers:

Otra ventaja de los contenedores es que pueden ser utilizados junto con máquinas virtuales sin conflictos, teniendo el doble de beneficios como podemos ver en este diagrama:

En conclusión, como podemos ver, hay beneficios comunes y diferentes de las máquinas virtuales y los contenedores. Si usted es un servidor o administrador de red, las VMs serán lo suficientemente beneficiosas para ese propósito. Pero si le gustan los DevOps puede que quiera ir con Docker Containers. E incluso por qué no ir con ambos y obtener lo mejor de ambos mundos.

Salir de la versión móvil