martes, 12 de agosto de 2014

¿En que se diferencia Docker de la virtualización tradicional?

Docker, y las tecnologías de contenedores en general(LXC, chroot, zones, etc) pueden parecer idénticas a las maquinas virtuales, para entender en que se diferencian, partamos del siguiente gráfico:


En el grafico, resaltados en color naranja, se listan los componentes que se usan para ejecutar una aplicación tanto en maquina virtual como en Docker, cuando se utilizan maquinas virtuales, es necesario virtualizar todo el sistema operativo,  con el gasto de recursos que eso implica, minimizando la ram, disco y procesador que podrá usar la aplicación en si, en cambio, utilizando Docker, la cantidad de recursos para cada aplicación es mayor al usar directamente los binarios y librerías para ejecutar la aplicación dentro de una imagen.

En ambos casos, las aplicaciones que se ejecuten dentro de la maquina virtual o de la instancia de Docker, estan aisladas del sistema operativo anfitrión,  pudiendo ejecutarse tantas maquinas virtuales/instancias de contenedores como nos permita nuestro hardware, en el caso de Docker, al usarse menos recursos, es posible tener un mejor rendimiento de aplicaciones por servidor que las maquinas virtuales, la principal desventaja de Docker es que solo se pueden tener instancias de distribuciones Linux, siendo imposible ejecutar instancias de Windows u otros, para ese tipo de ambientes, estaremos forzados a usar virtualizacion

Cabe señalar que Docker utiliza características del Kernel de linux implementadas en la version 3.8, por lo que deberemos usar dicha version o una superior para tener Docker funcionando; cualquier distribucion moderna incluye kernel 3.8 o superior. 

No hay comentarios.:

Publicar un comentario