`
A medida que las arquitecturas nativas de la nube siguen creciendo en complejidad, la introducción de mallas de servicios ha revolucionado la forma en que los microservicios se comunican dentro de los sistemas distribuidos. Un área clave en la que las mallas de servicios tienen un profundo impacto es en la gestión de las direcciones IP. Los métodos tradicionales de gestión de direcciones IP a menudo no se adaptan a la naturaleza dinámica y efímera de las aplicaciones basadas en microservicios, y las mallas de servicios proporcionan un nuevo enfoque que agiliza la creación de redes, simplifica el descubrimiento de servicios y mejora la seguridad.
Una malla de servicios es una capa de infraestructura dedicada diseñada para gestionar la comunicación entre servicios en arquitecturas de microservicios. Abstrae las complejidades del enrutamiento de red, el descubrimiento de servicios, la seguridad y la observabilidad introduciendo proxies (normalmente contenedores sidecar) para gestionar toda la comunicación entre microservicios.
Algunas de las herramientas de malla de servicios más populares son:
Al desacoplar la lógica de la aplicación de los problemas de red, las mallas de servicios ofrecen una solución más flexible y resistente para gestionar microservicios, especialmente en entornos basados en Kubernetes.
En las redes tradicionales, la gestión de direcciones IP (IPAM) se utiliza para asignar y gestionar direcciones IP a dispositivos y servicios dentro de una red. Sin embargo, en entornos de microservicios dinámicos, donde los servicios se crean, escalan o finalizan con frecuencia, la gestión de direcciones IP puede resultar compleja. Los retos incluyen el agotamiento de las direcciones IP, la gestión de rangos IP solapados y la garantía de un enrutamiento seguro y eficiente.
Con la introducción de las mallas de servicios, la gestión de direcciones IP pasa de ser una preocupación central a un proceso más abstracto y gestionado. Exploremos las diferencias entre el IPAM tradicional y la gestión de IP basada en mallas de servicios.
Aspecto | IPAM tradicional | Malla de servicios IPAM |
Asignación de direcciones IP | Estática o dinámica basada en subredes fijas | Abstraído por la malla de servicios, centrado en la identidad del servicio |
Descubrimiento de servicios | Basado en DNS y direcciones IP | Descubrimiento de servicios a través de la malla (nombres, etiquetas, etc.) |
Enrutamiento | Gestionado a través de tablas de enrutamiento basadas en IP | Gestionado mediante comunicación de servicio a servicio (sin dependencia de IP) |
Seguridad | Protegido por cortafuegos, VPN o ACL | Seguridad de confianza cero con TLS mutuo (mTLS) entre servicios |
Resiliencia | La dependencia de IP puede dar lugar a puntos únicos de fallo | Desacoplado de los PI, lo que proporciona una mayor resistencia y tolerancia a los fallos. |
El paso de las redes tradicionales basadas en IP a entornos habilitados para mallas de servicios tiene varias implicaciones para la gestión de las direcciones IP.
En las redes tradicionales, los servicios suelen identificarse por sus direcciones IP o nombres DNS. Sin embargo, en una arquitectura de microservicios, en la que los servicios se escalan y sustituyen dinámicamente, las direcciones IP cambian con frecuencia. Esto supone un reto para el descubrimiento de servicios basados en IP.
Con una malla de servicios, éstos se descubren y conectan a través de abstracciones de alto nivel, como nombres de servicios, etiquetas o tags. Esto elimina la necesidad de dependencias directas de direcciones IP, lo que facilita la gestión de servicios en entornos muy dinámicos.
Por ejemplo, en Istio o Consul, los servicios se registran por nombre, y la malla gestiona el enrutamiento subyacente entre servicios. Esto significa que los servicios pueden comunicarse entre sí basándose en identificadores lógicos, independientemente de sus direcciones IP.
El enrutamiento IP tradicional depende en gran medida de direcciones IP y subredes estáticas. Cuando los servicios se amplían o sustituyen, la actualización de las tablas de enrutamiento basadas en IP se convierte en un reto.
Las mallas de servicios resuelven este problema gestionando el enrutamiento dinámico. La malla gestiona automáticamente el equilibrio de carga entre instancias de servicio sin depender de direcciones IP fijas. Los proxies (sidecars) inyectados en cada servicio gestionan el enrutamiento del tráfico de forma dinámica, garantizando que los servicios estén siempre accesibles, aunque cambien sus direcciones IP.
Los modelos de seguridad basados en IP, como cortafuegos y ACL, son difíciles de mantener en entornos de microservicios debido a los frecuentes cambios de IP. Las mallas de servicios introducen mTLS (mutual TLS), una función de seguridad que asegura la comunicación entre servicios sin depender de IP estáticas.
En una malla de servicios, a cada servicio se le asigna una identidad (en lugar de una dirección IP), y las políticas de seguridad se basan en estas identidades. Como resultado, los servicios pueden comunicarse entre sí de forma segura a través de canales cifrados, independientemente de sus direcciones IP subyacentes.
Por ejemplo, con OpenShift Service Mesh, se pueden definir políticas que impongan el cifrado entre servicios específicos, garantizando una comunicación segura sin preocuparse de la gestión de IP.
Varios conceptos clave modifican el funcionamiento de la gestión de direcciones IP en entornos de malla de servicios:
En las redes tradicionales, un servicio se identifica por su dirección IP. Sin embargo, en una malla de servicios, éstos se identifican por nombres lógicos, etiquetas o identidades. Esta disociación significa que los servicios ya no están vinculados a direcciones IP fijas, lo que permite una mayor flexibilidad en entornos dinámicos.
En las mallas de servicios, la comunicación entre servicios se gestiona a través de sidecares proxy. Estos sidecars gestionan todo el tráfico de entrada y salida del servicio, lo que hace que las direcciones IP sean irrelevantes para la comunicación entre servicios. Los proxies sidecar también gestionan la seguridad (a través de mTLS), el equilibrio de carga y el enrutamiento, simplificando aún más la gestión de direcciones IP.
Las mallas de servicios permiten sofisticadas estrategias de gestión del tráfico sin depender de las direcciones IP. Por ejemplo:
Las mallas de servicios pueden dividir el tráfico entre distintas versiones de un servicio (despliegues canarios) sin necesidad de cambiar las direcciones IP.
Las mallas pueden aplicar políticas de reintento a nivel de red, garantizando la tolerancia a fallos sin depender de rutas IP estáticas.
Característica | IPAM tradicional | Malla de servicios IPAM |
Modelo de direccionamiento | Basado en IP, estático o dinámico | Servicio basado en la identidad, abstraído de las IP |
Mecanismo de descubrimiento de servicios | DNS o dirección IP | Nombres lógicos o etiquetas |
Enrutamiento | Gestionado por tablas de enrutamiento IP | Gestionado por la capa de malla de servicios (sin dependencia de IP) |
Aplicación de la seguridad | Cortafuegos basados en IP, ACL, VPN | mTLS basado en identidades, seguridad basada en políticas |
Gastos generales de explotación | Alta (debido a la gestión manual de IP) | Bajo (automatizado por malla) |
Aunque las mallas de servicios abstraen la gestión de direcciones IP, sigue habiendo buenas prácticas que seguir para garantizar un funcionamiento sin problemas:
Evite depender de IPs directas para el descubrimiento de servicios. Refiérase siempre a los servicios por sus nombres lógicos, que la malla puede resolver dinámicamente.
En entornos Kubernetes, deje que la plataforma asigne dinámicamente IP a pods y servicios. Confíe en la malla de servicios para gestionar la comunicación y el enrutamiento en lugar de la asignación manual de IP.
Utilizar las funciones de seguridad de las mallas de servicios, como mTLS, para proteger la comunicación entre servicios. Asegúrese de que todas las políticas de comunicación se basan en la identidad del servicio y no en las direcciones IP.
Utilice herramientas de observabilidad de malla de servicios para supervisar el tráfico, realizar un seguimiento del rendimiento del servicio y solucionar problemas de comunicación sin depender de la supervisión basada en direcciones IP.
Las mallas de servicios han transformado radicalmente el enfoque de la gestión de direcciones IP en los entornos de microservicios modernos. Al abstraer las complejidades de las redes basadas en IP, las mallas de servicios permiten a las organizaciones centrarse en preocupaciones de más alto nivel, como la identidad del servicio, la seguridad y la gestión dinámica del tráfico. A medida que el ecosistema nativo de la nube siga evolucionando, las mallas de servicios desempeñarán un papel cada vez más crítico en la simplificación de la gestión de redes e IP para aplicaciones distribuidas.
Alexander Timokhin
CCO
Alexander Timokhin
CCO