pricing - Docker Container comparado con Unikernel
download docker image (3)
Recientemente implementé una pequeña aplicación de Haskell con la ventana acoplable, usando "scratch-haskell" como imagen base.
Luego leí sobre Unikernels y HALVM. Y me confundí un poco.
Mi contenedor docker es de unos 6 MB de gran tamaño. Un Unikernel (con la misma aplicación de haskell) sería aproximadamente del mismo tamaño, supongo.
El Unikernel se ejecuta directamente en el hipervisor Xen, mientras que la imagen de la ventana acoplable (o LXC general) se ejecuta en una distribución normal de Linux, que se ejecuta en el metal.
Ahora tengo la "opción" de ejecutar Linux con varios contenedores mínimos O una máquina Xen con varios Unikernels pequeños.
¿Pero cuáles son las ventajas y desventajas de estas dos soluciones? ¿Es uno más seguro que el otro? ¿Y hay diferencias significativas de rendimiento entre ellos?
Unikernals es ideal para cosas que son apátridas. Cuando comienzas a necesitar acceso a un disco, es mejor que uses Docker.
Es por eso que todas las aplicaciones "asesinas" para unikernals son núcleos configurados estáticamente, como páginas web estáticas o pilas de redes definidas por software.
de http://wiki.xenproject.org/wiki/Unikernels
¿Qué proporcionan los Unikernels?
Los Unikernels normalmente generan un entorno de ejecución singular destinado a habilitar aplicaciones únicas creadas únicamente con ese entorno. En general, este entorno carece de la capacidad de generar subprocesos, ejecutar comandos de shell, crear múltiples hilos o procesos de bifurcación. En su lugar, proporcionan una encarnación pura del tiempo de ejecución del idioma, ya sea OCaml, Haskell, Java, Erlang o algún otro entorno.
Unikernels Versus Linux Containers
Mucho se ha hecho recientemente acerca de las ventajas de las soluciones de contenedor de Linux sobre las máquinas virtuales tradicionales. Los defensores de los contenedores dicen que su huella de memoria ligera, su rápido tiempo de arranque y la facilidad de empaquetado hacen de los contenedores el futuro de la virtualización. Si bien estos aspectos de los contenedores son ciertamente notables, no representan el fin del mundo del hipervisor. De hecho, Unikernels puede reducir la utilidad a largo plazo de los contenedores.
Unikernels facilita los mismos atributos deseables descritos por los proponentes del contenedor, con la adición de una historia de seguridad absolutamente espléndida que pocas otras soluciones pueden igualar.
Por lo tanto, si solo desea ejecutar la aplicación Haskell, Unikernels puede funcionar para usted y deberían tener menos gastos generales que la ventana acoplable (y la sobrecarga de la ventana acoplable es muy pequeña de todos modos), pero si su aplicación necesitará algún entorno preparado, debe comunicarse con un software que no sea Unikernels ventana acoplable es una mejor opción Creo que es demasiado pronto para decir si los Unikernels serán útiles o generalizados, solo el tiempo lo dirá.