Máquinas virtuales VS Contenedores

Contenedores vs vms

La virtualización ha tenido mucho éxito en los últimos 10 años para el despliegue de aplicaciones y aprovisionamiento de infraestructura, pero ahora tiene un nuevo rival: Contenedores.

Las máquinas virtuales o VMs consistían en un hypervisor que sobre un hardware físico permite emular varias máquinas virtuales cada una con su propio sistema operativo, librerías y aplicaciones, con esto en un servidor físico se pueden tener varios sistemas operativos y aplicaciones, consolidando y reduciendo costos, con un provisioning más rápido y un mejor disaster recovery.

Los contenedores son una nueva tecnología que busca lo mismo pero con la gran diferencia que además del servidor físico, se tiene un solo sistema operativo host compartido para los contenedores. Gracias a esto el tamaño de los contenedores es mucho menor, haciéndolos eficientes, más fácil de migrar, iniciar, recuperar y mover entre nube pública, privada y/o entre proveedores cloud.

Google ha invertido bastante en esta tecnología, la mayoría de cosas que usamos de Google está en contenedores. Los contenedores ofrecen una gran portabilidad de aplicaciones que permite pasar entre ambientes de dev, test y producción fácilmente a servidores locales o en la nube.

Por otro lado, una de las ventajas de las VMs es la seguridad que provee la abstracción a nivel de hardware ya que un ataque puede llegar unicamente a afectar la VM comprometida, aislando las demás que viven en el mismo hardware.

La madurez de las herramientas de administración que las máquinas virtuales han ganado le dan puntos a favor, pero herramientas de empresas como Docker para contenedores ya son completas.