Si bien los contenedores modernos parecen ser la solución ideal para proporcionar el entorno informático debido a su naturaleza liviana, en este artículo analizaremos las ventajas de las máquinas virtuales sobre los contenedores portátiles de la nueva era.
1. Seguridad:
Las máquinas virtuales son más seguras que los contenedores porque las aplicaciones (múltiples) se ejecutan dentro de la máquina virtual, es decir, el sistema operativo invitado, y la comunicación se realiza con el hardware a través del hipervisor. En el caso de los contenedores, cuentan con todo lo necesario para ejecutar la aplicación. Sin embargo, cuando tienen que comunicarse con otros contenedores o con el sistema operativo host que ejecuta estos contenedores, representa un riesgo para la seguridad. Dado que la virtualización llegó primero, se ha realizado un trabajo significativo en términos de seguridad y cifrado de datos en las máquinas virtuales en comparación con los contenedores. Cualquier compromiso con la VM no afectaría ni permitiría que el atacante acceda a otra VM, ya que el aspecto de la seguridad está bajo el control del hipervisor, mientras que este no es el caso en los contenedores, ya que no tienen un límite de seguridad sólido.
2. Ejecutar aplicaciones antiguas:
Las máquinas virtuales son la opción preferida cuando tenemos que ejecutar aplicaciones antiguas o las aplicaciones que se ejecutan sobre versiones anteriores de los sistemas operativos. Dado que es posible que no tengamos los recursos para modernizar la aplicación para que se ejecute dentro de un contenedor, tendremos que recurrir a las máquinas virtuales. En tales situaciones, podríamos ejecutar el sistema operativo anterior como una máquina virtual y ejecutar la aplicación encima.
3. Aplicaciones que consumen muchos recursos del sistema operativo:
Las máquinas virtuales se pueden usar cuando necesitamos hospedar o ejecutar aplicaciones que consumen muchos recursos y requieren la funcionalidad y los recursos del sistema operativo. También en entornos donde tenemos la necesidad de ejecutar una variedad de sistemas operativos, se prefieren las máquinas virtuales. En el caso de los contenedores, utilizan el kernel del host y no se pueden aislar como las máquinas virtuales, ya que ejecutan su propio kernel.
4. Uso de Host OS y kernel compatible (Portabilidad):
Podemos ejecutar múltiples máquinas virtuales con diferentes sistemas operativos invitados (que tengan su propio kernel) sobre el host/servidor. Mientras que con los contenedores, dado que usan el kernel del sistema operativo host, están limitados al sistema operativo y, por lo tanto, un contenedor diseñado para ejecutarse en un sistema operativo host en particular no podría migrar otro servidor que ejecute un kernel diferente y tendría problemas de compatibilidad. durante la migración de contenedores.
5. Interfaz gráfica de usuario (salida de video):
En comparación con las máquinas virtuales, los contenedores son ineficaces cuando se trata de soporte/salida de video, ya que están destinados principalmente a aplicaciones de consola. La ejecución de herramientas o software que tienen una interfaz gráfica o necesita una GUI enriquecida es más fácil en las máquinas virtuales con el uso de una pantalla virtual en la máquina host. Las máquinas virtuales son la solución preferida cuando necesitamos ejecutar aplicaciones basadas en GUI.
6. Almacenamiento persistente:
Las máquinas virtuales tienen discos virtuales que se utilizan para almacenar los datos de la aplicación de forma persistente. Sin embargo, este no es el caso en los Contenedores, los contenedores usan lo que llamamos almacenamiento efímero (los Contenedores son sin estado por defecto). Con la creciente demanda y necesidad de aplicaciones con estado, los contenedores enfrentan el desafío de agregar una solución de almacenamiento. Cuando se trata de almacenamiento persistente, las máquinas virtuales obtienen una mejor puntuación que los contenedores, ya que necesitaríamos implementar soluciones de almacenamiento complejas en estos últimos.
La siguiente imagen diferencia entre las máquinas virtuales y los contenedores:
Publicación traducida automáticamente
Artículo escrito por sharat ainapur y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA