Máquinas Virtuales vs Contenedores, ¿Qué son y cómo elegir entre estas tecnologías?

Máquinas Virtuales vs Contenedores, ¿Qué son y cómo elegir entre estas tecnologías?

¿La existencia de contenedores significa que se acabaron los días de las máquinas virtuales?

Por Christian Sfeir

Las tendencias tecnológicas siguen evolucionando y cada día van apareciendo nuevos conceptos que debemos aprender. Hoy en día casi no se puede tener una discusión respecto a Cloud Computing sin llegar al concepto de “Contenedores” (Containers).  Organizaciones de todos los segmentos de negocio hoy quieren entender que son los contenedores, que significan para las aplicaciones en la nube y como pueden usarlos.

Antes de ahondar en el concepto de contenedores, volvamos unos años atrás para recordar el nacimiento de la virtualización. A medida que el hardware se hacía más poderoso nos encontramos con que el software no ocupaba todas las capacidades de la maquina física donde se encontraba siendo ejecutada (en muchos casos ni siquiera una fracción de estos recursos). Dado lo anterior se crearon recursos “virtuales” para simular el hardware base sobre el cual se ejecuta el software, permitiendo que múltiples aplicaciones puedan ser ejecutadas al mismo tiempo, cada una usando una fracción de los recursos del hardware físico disponible. A a esta “simulación” que permite de compartir recursos la denominamos comúnmente “virtualización”.

La mayoría de nosotros cuando escuchamos el concepto de virtualización pensamos inmediatamente en máquinas virtuales, pero es importante entender que este es solo un tipo de virtualización en el cual se habilita un sistema operativo el cual tiene la ilusión de que posee recursos dedicados para operar. Entendiendo lo anterior podemos ahora definir a Contenedores como otra alternativa de virtualización.

En términos simples los Contenedores crean la percepción de un ambiente aislado exclusivo para la aplicación mientras que en la virtualización “tradicional” de máquinas virtuales la aplicación se ejecuta en un sistema operativo virtualizado donde convive con otros aplicativos.

 

¿La existencia de contenedores significa que se acabaron los días de las máquinas virtuales?, existe debate al respecto, pero la respuesta general es NO. Dependiendo del escenario una u otra opción de virtualización puede ser la más apropiada. La tecnología de contenedores ayuda a obtener mayor flexibilidad y portabilidad pues las aplicaciones se pueden ejecutar, ya sea en las instalaciones físicas, la nube pública, nube privada, etc. El nivel de paquetización que consigue una aplicación permite que esta pueda ser trasladada de un ambiente a otro con mínimo o nulo impacto, permitiendo que en escenarios de alta carga el sistema puede escalar clonando nuevas instancias de la aplicación muy rápido. Existen escenarios donde el nivel de paquetización que se consigue con Contenedores juega en contra y las máquinas virtuales son una mejor solución.

Diversas empresas están liderando el camino de los contenedores, entre estos se encuentra Microsoft y Dockers. Docker es un proyecto Open Source que simplifica y automatiza el despliegue de aplicaciones dentro de contenedores de software a nivel del sistema operativo (Linux). Ambas empresas hace algunos meses anunciaron una alianza para llevar esta tecnología de contenedores a sistemas operativos Windows y Linux utilizando el poder de la nube pública Azure y Windows Server 2016 para nubes privadas.

No dejen de conocer más de como la tecnología de contenedores puede ayudar en sus negocios, independiente del sistema operativo, basándose en las capacidades de flexibilidad y escalabilidad que Azure y Dockers pueden ofrecerle.

Conoce más y prueba gratis Azure en: https://azure.microsoft.com/es-es/services/container-service/