¿Qué son las redes de contenedores? Conoce sus características

¿Qué son las redes de contenedores? Conoce sus características

Lorena Fernández

Llegará un punto en que deberemos despedirnos de las redes, así como las conocemos. No por su esquema fundamental, sino más bien por la manera en que se implementan y gestionan en el día a día. Las redes de contenedores forman parte de una tendencia que está teniendo cada vez más fuerza en este 2020. ¿Qué es una red de contenedores? ¿Será de utilidad migrar ahora mismo a esa tecnología? Hoy en RedesZone os contamos todo lo que debes saber y hacer antes de tomar esta decisión.

Estos tipos de redes forman parte de una evolución del storage (almacenamiento) virtualizado, la computación y las tecnologías de redes. Recordemos que la virtualización ya lleva prácticamente una década desde sus primeras implementaciones. Los recursos de hardware son compartidos mediante las ya conocidas máquinas virtuales. Toda máquina virtual contiene una aplicación en particular y una instancia completa de sistema operativo. Mediante la virtualización tradicional, un servidor físico puede alojar varias máquinas virtuales. Cada una de estas, por ejemplo, podrían contar con un hypervisor con tres instancias de sistema operativo ejecutándose por separado.

Sin embargo, mediante los contenedores, un solo servidor puede alojar a tres aplicaciones en contenedores, esto requiere una sola instancia de sistema operativo y los contenedores comparten su kernel. Otra ventaja directa es el ahorro en espacio de almacenamiento. Una máquina virtual puede necesitar de varios gigabytes de espacio. Un contenedor, en cambio, sólo necesitará de unos cuantos megabytes de espacio. En consecuencia, un solo servidor ya será capaz de alojar a muchos más contenedores que máquinas virtuales. El beneficio principal que se obtiene gracias a esto es una mayor eficiencia en el desempeño de los recursos de un data center.

¿Qué debo hacer para comenzar a usar contenedores en redes?

Es importante determinar el enfoque correcto para la implementación, esto depende en gran medida de las necesidades de aplicaciones, el tipo de despliegue que tendrá, el uso de automatizaciones de procesos y el tipo de sistema operativo. Las opciones más populares que podemos encontrar hoy en día son Docker y Kubernetes. Estos cuentan con subsistemas de networking que se pueden conectar mediante el uso de drivers (controladores). Los tipos de comunicaciones que soporta las redes de contenedores son de contenedor-a-contenedor o contenedor-a-host.

Si se ha optado por la transición al uso de contenedores, el propósito principal es la creación de una arquitectura distribuida y constituida por microservicios. ¿En qué consisten éstos? Son aplicaciones estructuradas como conjuntos de servicios. Los beneficios principales del uso de los microservicios es el convertirse en una infraestructura tolerante a fallos y también, en una muy fácil de actualizar o de aplicar mejorías.

La tecnología aplicada a contenedores también permite enlazar a cada uno de los contenedores de manera a que aparentemente, están conectadas a la misma interfaz. Esto, a diferencia de los esquemas de conexión tradicionales en los cuáles se trataría a cada contenedor como un dispositivo distinto uno de otro. Así, todas las piezas que componen a la infraestructura podrán comunicarse con facilidad y serán distribuidas en distintas máquinas que se encuentran en distintos data centers.

¿Ya tienes algo más claro? Estamos seguros que así es. Ahora, citaremos los tipos de redes de contenedores más comunes:

Los principales tipos de redes de contenedores

  • Redes de tipo Puente. En inglés se las conoce como bridge networks. Permite a los contenedores ejecutarse en el mismo host para comunicarse unos con otros. Pero, las direcciones de IP asignadas a cada contenedor no son accesibles fuera de dicho host. Si optas por Docker, este cuenta con una red de tipo puente por defecto. Por lo que todos los contenedores nuevos se conectarán automáticamente a esa red. Sin embargo, existen características que debemos ajustar sí o sí al momento de implementar este tipo de redes:
    • Resolución DNS
    • Agregar o eliminar contenedores de un puente personalizado mientras se ejecutan
    • Compartir variables de entorno entre contenedores
  • Redes Overlay. Están diseñadas para contenedores que se ejecutan en distintos hosts. Estos pueden localizarse mutuamente de forma automática y comunicarse mediante subredes con túneles. Si se opta por este tipo de red, no es necesario configurar a cada uno de los contenedores.
  • Redes de Hosts. Esta red cuenta con un controlador que permite a los contenedores contar con sus propios stacks de red, ejecutándose de lado a lado con el stack que se encuentra en el host. Un servidor web, por ejemplo, en el puerto 80 que se encuentra en un contenedor está disponible desde el propio puerto 80 en el host en sí. En este tipo redes, si mapeas al puerto 80 o cualquier otro puerto a un contenedor, ningún otro puede acceder a dicho puerto en ese mismo host.
  • Redes Macvlan. Estas están diseñadas para aplicaciones que trabajan interactuando directamente con la red física. Como las aplicaciones de monitorización de redes. Este tipo de red cuenta con un controlador que no solamente asigna una dirección IP a un contenedor. Si no también, una dirección MAC. ¿Cuándo utilizar las redes Macvlan? Cuando se cuentan con aplicaciones que no operan a no ser que dependan de una dirección de red física.

Conociendo los principales tipos de redes de contenedores, es importante tener presente que su adopción significará un cambio muy importante. Tanto en las operaciones de data center como las prácticas para llevarlas a cabo. De acuerdo a expertos de la industria, se sabe que la gran mayoría de los equipos de redes están familiarizados con una infraestructura estática, que no cambia nunca. Subredes ya planeadas y establecidas, métodos estándar para medir las capacidades, entre otras cosas. En un ecosistema basado en contenedores, los cambios de la configuración de la red y las localizaciones de los servicios ocurren de manera rutinaria. Por tanto, no existe un control humano directo de la red. Es como si la red se convirtiese en una enorme aplicación, y las prácticas para gestionarla difieren mucho de lo tradicional.

Una de las preguntas más importantes: ¿las redes de contenedores son seguras? Este tipo de redes dista mucho de lo que uno puede saber respecto a los firewalls tradicionales o los mecanismos de funcionamiento de los controles de seguridad. Toda persona u organización que adopte los contenedores necesitará micro-segmentar a los mismos para que las aplicaciones no interfieran unas con otras. Además, los firewalls deberán mapear la conectividad de los contenedores, no ya de las máquinas virtuales. Es osado asumir que estas nuevas tecnologías de redes son completamente seguras, pero no hay duda de que, con el tiempo, las características y las medidas de seguridad se verán reforzadas de acuerdo a cómo se van adoptando.