¿Por qué se sigue utilizando la virtualización en lugar de los contenedores?

¿Por qué se sigue utilizando la virtualización en lugar de los contenedores?

En la era de los contenedores de 2021, los proveedores de la nube todavía utilizan el hipervisor para hacer posible utilizar más recursos disponibles de un sistema y proporcionar una mayor movilidad de TI, ya que las máquinas virtuales invitadas son independientes del hardware del host.

Hipervisor, permite que un servidor físico opere múltiples máquinas virtuales como invitados que se ejecutan uno al lado del otro.

Contenedoresson una forma de virtualización del sistema operativo.

Ambos sistemas pueden lograr el mismo propósito, pero los contenedores son mucho más eficientes.

Se puede decir que los contenedores no ofrecen suficiente seguridad, perocontenedor de confianza ceropodría ser posible.

Todavía me pregunto por qué los proveedores de la nube todavía utilizan hipervisores en lugar de contenedores en sus servidores básicos.

Respuesta1

Los contenedores sonno"una forma de virtualización del sistema operativo". Los contenedores son la forma de crear múltiples entornos de usuario en una única imagen del sistema operativo. Los contenedores y las máquinas virtuales nunca pudieron lograr el mismo propósito. Los contenedores se basan en tecnología que nunca tuvo la intención de reemplazar a las máquinas virtuales; es la forma de construir cárceles más seguras que, digamos, chroot (es como "chroot con esteroides").

Si desea ver "una forma de virtualización del sistema operativo", aprenda sobre la tecnología paravirtual Xen;esoes la forma de virtualización del sistema operativo.

Hay muchas tareas que no es posible realizar en contenedores, por ejemplo, las personas a menudo necesitan ejecutar aplicaciones de Windows y Linux y solo Dios sabe qué más, y la única forma de hacerlo es la virtualización.

Sin embargo, hay muchas tareas que podrían resolverse de cualquier manera. ¿Por qué todavía no siempre se resuelven utilizando contenedores?

Por la inercia en la mente de las personas. Las máquinas virtuales son como las computadoras, que utilizamos durante mucho tiempo y todo el mundo está acostumbrado a ellas. Los contenedores son cosas muy diferentes.

Debido a que Windows está muy extendido y no tiene ese concepto. Incluso puedo especular que esto se debe a que es difícil hacer cumplir las restricciones de licencia en un entorno en contenedores verdaderamente seguro; Los términos de licencia de Micro$oft siempre fueron muy confusos, pero la inclusión de contenedores podría hacer que eso fuera insoportable incluso para sus defensores más leales.

Respuesta2

La virtualización todavía se utiliza porque es extremadamente flexible a pesar de las numerosas ventajas que conllevan los contenedores.

Por ejemplo, puede habilitar la virtualización anidada en una máquina virtual invitada. Con esta función habilitada, los invitados de VM tienen la misma capacidad de virtualización que tiene el sistema host.

Con una configuración como esta, puede ampliar su huella de recursos mucho más que simplemente usar un sistema host solo para contenedores o una cantidad limitada de máquinas virtuales que a su vez alojan contenedores.

En teoría, cada VM individual puede crear entre 3 y 5 VM adicionales que luego se pueden contenerizar y utilizar de manera mucho más eficiente.

Respuesta3

Porque hay muchos casos de uso que requieren una instalación completa del sistema operativo y un tipo de persistencia que los contenedores simplemente no tienen.

Esto es de Microsoft y obviamente está orientado a Azure, pero sigue siendo una buena comparación:https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm.

Respuesta4

Con los contenedores, es necesario ejecutar el mismo sistema operativo en todos los contenedores. Pero las personas a menudo necesitan ejecutar sistemas operativos diferentes. Es posible que necesites ejecutar sistemas Linux y Windows en la nube; Además, es posible que necesite ejecutar alguna versión antigua específica de Linux o Windows para una aplicación en particular que no funciona en sistemas más nuevos. Para un proveedor de nube, la única forma de satisfacer las necesidades de diferentes clientes (que pueden necesitar varios sistemas operativos diferentes) es la virtualización.

información relacionada