Conexión de microservicios con una malla de servicios
RESUMEN EJECUTIVO
La incorporación de una malla de servicios conecta sus microservicios y permite escalar Kubernetes minimizando la carga de gestión.
La malla de servicios es la próxima gran revolución en la entrega de aplicaciones
Una malla de servicios conecta microservicios, lo que facilita la protección y la orquestación de componentes en contenedores y simplifica el trabajo de los arquitectos de la nube.
Primero fueron las aplicaciones en todas partes y para todo, después llegaron los microservicios (y las tecnologías de contenedores que los hacen posibles). ¿Cuál será la próxima innovación que ayudará a ofrecer una experiencia de usuario excepcional a través de las aplicaciones? La malla de servicios.
El enfoque de microservicios se basa en componentes pequeños y con una única finalidad que se utilizan para crear aplicaciones más grandes y complejas. Se puede crear un microservicio para prácticamente cualquier cosa y, como cada uno se centra en una única función, su desarrollo es relativamente rápido. Sin embargo, cuantas más funciones se quieran incorporar, más compleja será la coordinación de los componentes de microservicios.
Las aplicaciones tradicionales (a veces denominadas aplicaciones monolíticas) tardan más en desarrollarse, pero tienen sus ventajas. Como un único programa ejecuta muchas funciones independientes, la coordinación entre los componentes suele estar integrada en el sistema. Solo hay un código fuente, lo que facilita la resolución de problemas y la depuración de las aplicaciones tradicionales.
¿Qué es una malla de servicios?
Una malla de servicios es una capa de infraestructura transparente que facilita la comunicación entre microservicios. Esto proporciona a las aplicaciones creadas con microservicios las mismas ventajas que una aplicación tradicional, como la resiliencia, la observabilidad y la seguridad.
La justificación empresarial de una malla de servicios para empresas
La transición de una arquitectura monolítica a los microservicios estuvo impulsada principalmente por la necesidad de que los equipos de aplicaciones fueran más ágiles y trabajaran con mayor rapidez. Dividir una gran aplicación en numerosos componentes pequeños permitió que cada equipo se especializara. De este modo, podían iterar más rápido que cuando tenían que ocuparse de todos los aspectos de la arquitectura monolítica.
Sin embargo, esta velocidad y agilidad tienen un precio: una mayor complejidad. Los microservicios simplifican el desarrollo, pero plantean nuevos retos, especialmente a la hora de proteger y coordinar múltiples componentes efímeros. Una malla de servicios permite a los desarrolladores delegar parte de la complejidad a medida que escalan las aplicaciones basadas en microservicios.
“El objetivo de la visibilidad multidimensional es eliminar los silos de datos y facilitar el acceso a la información dentro de una organización.”
En un podcast reciente, Andrew Jenkins, cofundador y director de tecnología de Aspen Mesh, lo expresó así: «En un entorno de malla de servicios, el mayor cambio no está en lo que los desarrolladores de aplicaciones deben hacer, sino en todo lo que se espera que no hagan». Por ejemplo, el componente de seguridad de una malla de servicios proporciona autenticación y gestiona si una aplicación confía en otra. Cuando una solicitud falla, el operador de la plataforma dispone de herramientas para determinar si el microservicio debe volver a intentarlo o retirarse.
En este nuevo entorno, los desarrolladores pueden centrarse en hacer llegar las solicitudes a la capa de la malla de servicios. El operador de la plataforma, que tiene acceso a herramientas que supervisan todas las comunicaciones entre microservicios, puede ofrecer al desarrollador de aplicaciones toda una nueva gama de datos y métricas. «En una malla de servicios, solo hay que corregir ese fallo en un lugar para que quede solucionado en todas partes. Esa misma coherencia se repite una y otra vez», afirma Jenkins.
Cuándo usar una malla de servicios
Piensa en la malla de servicios como una nueva y potente caja de herramientas. Incluye herramientas de seguridad, procesamiento de transacciones, cifrado, motores de recomendación, trazabilidad distribuida… y la lista continúa. Pero unas herramientas potentes no te servirán de nada si no sabes utilizarlas. Para adoptar con éxito una malla de servicios desde el principio, se necesita una sólida experiencia en arquitectura en la nube y un equipo de plataforma con experiencia en la definición de servicios de infraestructura para desarrolladores.
Muchas organizaciones utilizan con éxito Kubernetes y otras tecnologías de contenedores sin una malla de servicios. Las implementaciones estándar de Kubernetes resuelven muy bien los problemas inherentes al despliegue. Sin embargo, a gran escala, las aplicaciones de Kubernetes presentan problemas en tiempo de ejecución que no se resuelven tan bien, como el cifrado, la interrupción de circuitos y el enrutamiento dinámico del tráfico. Soluciones como NGINX y otras soluciones de entrada para contenedores cubren gran parte de esta carencia al proporcionar medios para capturar, modelar, controlar y visualizar el tráfico de red a medida que entra en una aplicación. Pero cuando los desarrolladores empiezan a alcanzar los límites de lo que estas herramientas pueden ofrecer, la malla de servicios promete un nuevo nivel de visibilidad sobre las capacidades de los microservicios en contenedores.
Conclusión
En estos momentos, la malla de servicios sigue siendo una tecnología de vanguardia. Para las organizaciones que ya han apostado plenamente por Kubernetes o que tienen previsto desarrollar con Kubernetes, será más fácil implementar una malla de servicios desde el principio que integrarla más adelante. Si está ampliando Kubernetes y quiere minimizar la carga de gestión, necesita una malla de servicios.
Para las organizaciones con necesidades de seguridad complejas o que dependen en gran medida de aplicaciones basadas en microservicios, una malla de servicios puede agilizar el despliegue y el mantenimiento, reforzar la seguridad y ayudar a optimizar el consumo de recursos. Los entornos de malla de servicios aumentan la visibilidad y proporcionan datos tanto a nivel micro como macro que pueden utilizarse para optimizar las aplicaciones.
La malla de servicios representa el siguiente nivel de evolución de los microservicios y las tecnologías de contenedores. Con la estrategia adecuada, puede ser una herramienta muy potente.
Contenido relacionado
LIBRO ELECTRÓNICO
Arquitectura segura en la nube
Velocidad sin las concesiones habituales: está a tu alcance con la arquitectura en la nube adecuada.
DESCRIPCIÓN GENERAL DE LA SOLUCIÓN
Infraestructura 5G nativa de la nube
Las soluciones de infraestructura 5G de F5 proporcionan las herramientas que los proveedores de servicios necesitan para modernizar su infraestructura de red.
SOLUCIONES
NGINX
Descubre cómo conectar, proteger y escalar microservicios.
PÓDCAST
Lo que yace debajo
Descubre las mallas de servicios y sus alternativas en el pódcast What Lies Beneath.




