Containers vs Hypervisores

Interesante post que paso a resumir. Trata de las ventajas de los containers frente a los hypervisores o máquinas virtuales, que pueden parecer lo mismo pero no lo son. Ni de lejos. Los hypervisores virtualizan hardware, los containers utilizan virtualización de SO. Toking to me? Toking…

1. La virtualización de SO no emula dispositivos, cada container habla directamente con el hardware nativo por lo que el “overhead” introducido por los containers es una fracción de la que introduce un hypervisor. Adicionalmente, se ha demostrado que a la par que el número de máquinas virtuales incrementa, así lo hace el “overhead” por máquina virtual. Mientras que el “overhead” producido por escalar hacia arriba el número de containers se mantiene consistente y permite sacar partido del hardware disponible.

2. Otra ventaja es que los containers tienen 0 I/O overhead. Son candidatos perfectos para usos de I/O intensivos como bases de datos, que tradicionalmente se dejan sin virtualizar .
nota:he virtualizado diversos host con motores de bases de datos diversos y el resultado ha sido satisfactorio siempre

Los containers utilizan un template único que aprovecha similitudes en ficheros y procesos que se ejecutan en diferentes entornos virtuales. Esto habilita que procesos de memoria pueden ser compartidos a través de los containers, reduciendo el uso de la memoria y el espacio a una fracción de lo requerido por servidores físicos o máquinas virtuales.

3. OS sprawl. Los hypervisores reducen hardware (como los containers) pero mantienen el nivel de gestión que hay que practicar debido a que el número de sistemas operativos independientes unos de otros no baja, se mantiene. Con los containers, un único sistema operativo (kernel) es utilizado por todos los containers, simplificando la gestión.

4. En el caso de los containers de Parallels Virtuozzo, no se requiere hardware con VT habilitado.

5. Tampoco se requiere una plataforma de SAN, no es obligatorio. Las migraciones se pueden hacer directamente entre anfitriones de containers, incluso si se utilizan discos locales. Gracias a la abstración del kernel de linux, se pueden hacer actualizaciones de kernel en caliente. Actualizar el kernel sin rebotar el sistema operativo. Actualizar un anfitrión al último kernel, asegurarse de que todo funciona como se espera, entonces hacer una migración de un host que utiliza un kernel antiguo al nuevo host con kernel.

6. Control de numerosos parámetros como número de cpus, memoria, sockets tcp, gestionado y modificado al vuelo, sin reiniciar. Gestión de recursos más granular y escalable.

Links
http://blogs.parallels.com/enterprise/2010/05/the-benefits-of-containers-over-virtual-machines.html

Leave a Reply

Your email address will not be published. Required fields are marked *