Conceptos

Definiciones básicas, historia y lo que no cupo o se acomodó en las otras páginas de esta sección.


Historia

Definiciones y conceptos

Máquinas virtuales

Las máquinas virtuales (virtual machines) son emulaciones de computadoras reales (físicas). Se trata de un programa que emula un procesador (uno real, por ejemplo un Intel 80386) y los recursos que administran la memoria, almacenamiento secundario, comunicaciones y otros dispositivos de entrada y salida de la misma forma en la que un computador físico que estuviera construido con el procesador que se emula lo haría para cierto tipo de sistemas operativos (por ejemplo Windows o para distribuciones linux).

Contenedores

Los contenedores son entornos virtualizados de aplicaciones que, en comparación a los requerimientos y enfoques de las máquinas virtuales, se consideran ligeros. La mejor explicación para poder entender la diferencia con las máquinas virtuales es la siguiente.

Considérese, por ejemplo, un entorno de desarrollo en linux para programación en C. Establecerlo mediante una máquina virtual, implica descargar e instalar el sistema operativo (digamos con un mínimo de elementos, algunos que se usarán, otros no) y luego descargar las herramientas de desarrollo que incluyen el compilador de C, archivos de cabecera, bibliotecas de funciones que permiten al compilador hacer la liga con los servicios del sistema operativo y algunas cosas más. Muy seguramente el paquete de herramientas de desarrollo incluirán componentes y herramientas para desarrollar con otros lenguajes que no son necesarios para hacerlo con C. Ciertamente podrían buscarse, descargar e instalar únicamente aquellos elementos que el desarrollo con C requieren, pero el hacerlo requiere un mayor conocimiento, tiempo y habilidad para resolver cualquier problema que se presente, por lo que la mayoría de los desarrolladores opta por descargar el paquete de herramientas de desarrollo canjeando el tiempo y conocimientos mencionados por el espacio en disco que se destinará a cosas que no se usarán.

Los contenedores abordan este problema proporcionando únicamente lo que se requiere. Aprovechan el esfuerzo que alguien ya invirtió en instalar y configurar sólo aquellos elementos necesarios (dependencias) para una labor específica.

Otra forma de ver la diferencia entre los contenedores y las VM es el que las últimas virtualizan hardware mientras que las primeras servicios de un sistema operativo virtualizado que es compartido, son un metodo de virtualización de un sistema operativo que corren como processos de recursos aislados

Diferencia entre simulación y emulación

Referencias


Twitter Wordpress eMail
© Todos los derechos reservados.
Dr. Eduardo René Rodríguez Avila
Creación: 2021.04.20
Última actualización: 2021.04.20
El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto.