3 min de lectura

Para asegurar que el desarrollo de software se hace en un entorno controlado y con la misma versión se utiliza la virtualización. Durante muchos años se han usado las máquinas virtuales y en los últimos años se usan mucho los contenedores.

Máquinas virtuales y contenedores

Hoy vamos a hablar acerca de máquinas virtuales y contenedores, ¿cuáles son sus diferencias y sus ventajas?

Bien, la gente de infraestructura sobre todo está muy metida en estos temas pero vamos a verlo desde el tema como desarrolladores qué es lo que nos interesa, ¿por qué nos sirven los contenedores? ¿por qué nos sirven las máquinas virtuales desde un ambiente de desarrollo de software?

Como desarrolladores de software nosotros queremos tener nuestro entorno de desarrollo con un cierto sistema operativo, con ciertos paquetes, con ciertas versiones y estar seguros de que esto es igual entre todos los miembros del equipo.

 

Virtualización usando máquinas virtuales y contenedores

Para esto aparece el tema de la virtualización. Entre los temas de virtualización tenemos dos cosas: las máquinas virtuales y los contenedores.

Una máquina virtual no es más que un sistema en el cual tenemos una copia de todo el hardware, del sistema operativo y pues su plataforma. Esta copia del hardware es muy costosa pero pues es muy conveniente.

En el caso contrario tenemos los contenedores donde está virtualización no hace la copia completa de todo el hardware, lo que hace es una copia solamente del sistema operativo, y
de hecho si hay varios contenedores corriendo cada contenedor va a compartir ese sistema operativo con la máquina anfitriona.

 

Diferencia entre máquinas virtuales y contenedores

  • Los contenedores son muy ligeros, los archivos son muy pequeños.
  • Las máquinas virtuales son muy lentas al cargar y el archivo puede crecer inmensamente.
  • En cuanto a seguridad, ya que la máquina virtual es aislada es muy segura.

 

¿Por qué los contenedores se volvieron famosos?

Como desarrolladores es muy fácil que podamos dar de alta un contenedor con nuestra interfaz que nosotros queremos, es muy ligero y en el momento que algo falle lo tumbamos y lo volvemos a levantar.

Además podemos deployear directamente ese contenedor hacia nuestro entorno de producción.

 

¿Qué tipos de contenedores existen?

Existen los Linux containers que sería un el LXD, LXC o Docker que es lo más famoso o windows containers.

En el caso de máquinas virtuales tenemos otras cosas como lo que sería VmWare, Virtual Box, Parallels, Qemu y otros.

 

Archivos de definición para máquinas virtuales y contenedores

Estas dos cosas que existen para máquinas virtuales o para Docker tienen cada una una manera de describir las configuraciones que representan a estas cosas.

Entonces en estas configuraciones además podemos poner cosas como conectar un volumen, ¿qué significa esto? que voy a sincronizar un folder o una carpeta que yo tengo en mi local hacia mi máquina virtual o mi contenedor y compartir archivos.

 

¿Qué pasa si algo falla?

borro mi container o borro mi máquina virtual y lo vuelvo a levantar.

Por eso los contenedores se volvieron famosos porque lo puedes borrar y levantar súper rápido.

 

Aprende en 3mins

Esta es una serie de videos con duración no mayor a 3 minutos para aprender conceptos de programación y tecnología.

Los temas surgen de los comentarios y sugerencias que dejas, así es que no dudes en comentar.

Suscribete a mi canal para recibir alertas cada que salga un nuevo video!
https://www.youtube.com/c/yosoydev

Links:

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.