Qué es un service mesh y por qué es crucial para el éxito de los microservicios

Un nuevo informe de Forrester señala que las empresas que consideran el uso de microservicios también deben tener en cuenta una capa de infraestructura crucial que puede marcar la diferencia entre el éxito y el fracaso de los microservicios: un service mesh.

Los service meshes son capas adicionales de infraestructura que existen para estandarizar la comunicación entre servicios, ya sean microservicios u otros. En particular, los service meshes se destacan por su uso de proxies entre servicios para aumentar la seguridad y mejorar la observabilidad.

El informe completo cubre cómo los microservicios impulsarán la especialización en la industria de los service meshes, y aquellos con acceso a los informes de Forrester definitivamente deberían leerlo. Hay muchos consejos e información valiosa en el informe, con una lista de cuatro problemas comunes de los microservicios según Forrester, y formas en que los service meshes pueden resolverlos, como punto de partida.

Índice de Contenido
  1. 4 problemas comunes de los microservicios
    1. Comunicación insegura
    2. La asignación de rutas agrega complejidad y puntos de fallo
    3. Los errores no son fáciles de manejar
    4. Los errores en tiempo de ejecución son difíciles de detectar
  2. Cómo resuelve un service mesh los cuatro problemas comunes de los microservicios
    1. Service meshes y seguridad
    2. Service meshes y fallos de comunicación
    3. Service meshes y análisis
  3. Diseña tu mesh según tus servicios, no tus servicios según tu mesh

4 problemas comunes de los microservicios

"Los sistemas distribuidos son difíciles, y los microservicios son aún más difíciles", dijo Forrester en el resumen de su informe. Esa es una afirmación precisa: los microservicios son aplicaciones divididas en sus componentes más pequeños y distribuidas en una red, lo que hace que la gestión sea un poco más complicada.

VER: Microsoft Azure Virtual Desktop: Una guía de referencia (PDF gratuito) (Newsmatic)

"A medida que los equipos de desarrollo amplían su uso de los microservicios, también se presentan las complejidades y los problemas de las aplicaciones altamente distribuidas construidas a partir de microservicios", dijo el informe. Entre los problemas comunes se encuentran los siguientes cuatro problemas.

Los diferentes tipos de buses en los dispositivos electrónicos

Comunicación insegura

Tomemos una aplicación, divídala en piezas y distribuya esas piezas entre servicios conectados en red y tendremos un aumento masivo en la superficie de ataque.

Forrester dijo que cada microservicio es un punto de entrada potencial; en un ejemplo citado en el informe se mencionó a las empresas de tecnología sanitaria como uno de los afectados por los microservicios. En el caso de una de esas empresas con la que hablaron los investigadores de Forrester, los microservicios planteaban serias preocupaciones sobre las exigencias de cumplimiento normativo de la atención médica: ¿Se pueden cumplir cuando cada pieza de una plataforma de atención médica es un posible punto de ataque?

La asignación de rutas agrega complejidad y puntos de fallo

La latencia y la flexibilidad de escalado son puntos clave de los microservicios, y esto crea muchas ventajas para quienes los utilizan. Pero esta ventaja también tiene un lado negativo: a medida que los desarrolladores programan formas de llamar a un servicio, pueden necesitar información específica, como la versión del software, o deben decidir si buscar una instancia de servicio o delegar esa responsabilidad a un balanceador de carga.

Con el tiempo, toda esa complejidad solo obstaculiza el rendimiento, lo que lleva a empresas como la plataforma WePay de JPMorgan Chase, según Forrester, a verse obligada a elegir entre un nuevo método de gestión de conexiones o seguir con las API REST que fueron parte de la causa de su congestión de tráfico.

Los errores no son fáciles de manejar

El fallo de comunicación entre microservicios es casi inevitable a medida que las empresas los escalan a niveles antes imposibles. Los desarrolladores se ven limitados en tales situaciones, y según Forrester, "deben saber cómo manejar escenarios en los que una llamada a un microservicio falla".

Una solución, enlazar marcos de trabajo en una aplicación, puede solucionar el problema, pero también elimina la ventaja del concepto de los microservicios en su conjunto. Además, aumenta considerablemente el trabajo de los desarrolladores.

Cómo entrar al programa de configuración del BIOS en tu computadora

Los errores en tiempo de ejecución son difíciles de detectar

"No basta con saber el estado de los microservicios individuales; el personal de operaciones necesita herramientas de monitorización que muestren las cadenas de secuencias de microservicios llamándose uno tras otro, y que identifiquen específicamente qué enlace de la cadena está inactivo o funciona lentamente", dijo el informe.

Intentar rastrear el tráfico de los microservicios es como intentar seguir un trozo de papel en el suelo de la Bolsa de Valores de Nueva York: llevará mucho más trabajo del que debería, y al final probablemente podría haber encontrado la misma información de manera más fácil.

Cómo resuelve un service mesh los cuatro problemas comunes de los microservicios

Los microservicios son fantásticos cuando funcionan. Según este informe de Forrester, no funcionarán bien para los desarrolladores y las operaciones hasta que se agregue un service mesh como una capa inferior. Tal mesh no resolverá todos los desafíos de los microservicios, según Forrester, pero sí ofrece "beneficios como menos codificación, seguridad consistente y una mejor visión en tiempo de ejecución", todos los cuales se vuelven cada vez más esenciales a medida que una empresa invierte más en microservicios, según señala el informe.

Service meshes y seguridad

Los service meshes utilizan proxies en ambos lados de una comunicación y aplican políticas que fomentan una mejor seguridad, según Forrester. Además, "al no depender de que los desarrolladores programen correctamente la seguridad en cada servicio, un service mesh fomenta una seguridad constante entre servicios", dice el informe.

En esencia, toda la comunicación entre servicios que fluye a través de un mesh está protegida y asegurada a nivel central, eliminando muchas de las nuevas superficies de ataque que aparecen con la implementación de los microservicios.

Service meshes y fallos de comunicación

Como ocurre con la seguridad, los microservicios suelen tener sus llamadas programadas directamente en ellos. Esto significa que, en caso de fallos, lo mejor que se puede esperar es un error que aporta poco para solucionar el problema.

Entendiendo los permisos de archivos y directorios en UNIX

Por otro lado, con un mesh, "los desarrolladores pueden asumir que si una llamada a un servicio falla, el proxy ha hecho todo lo posible para manejar los errores de comunicación. Además, el mesh puede proporcionar funciones de verificación del estado de los servicios y la capacidad de enrutar a la instancia de servicio con la latencia más baja", según indica Forrester en el informe.

VER: Lista de verificación: Cómo gestionar las copias de seguridad (Newsmatic Premium)

Esto aborda dos de los problemas mencionados anteriormente por Forrester: la complejidad de enrutamiento y el manejo de fallos. El mesh en sí tiene políticas de reintento reforzadas por el proxy, que Forrester describe como "aislar completamente a los desarrolladores de los escenarios en los que el servicio llamado no está disponible temporalmente". De no funcionar, el service mesh intentaría automáticamente encontrar una ruta o un servicio alternativo diferente para evitar generar un error, algo mucho más difícil de hacer cuando todo está codificado de manera rígida en lugar de utilizar un service mesh.

Service meshes y análisis

Como se mencionó anteriormente, tratar de encontrar una única ruta de datos a través de una red de microservicios es más probable que conduzca a la locura que a una solución. En cambio, el proxy incorporado en el service mesh registra cada bit de comunicación entre los microservicios.

"A partir de estos registros, las herramientas de monitorización pueden analizar e informar sobre el rendimiento y la disponibilidad de los microservicios, y pueden proporcionar un nivel básico de seguimiento en cadenas de llamadas", señala el informe.

Diseña tu mesh según tus servicios, no tus servicios según tu mesh

Los service meshes, según señala Forrester, introducen su propio tipo de complejidad que puede abrumar rápidamente a un equipo que intenta implementar uno, especialmente si no están preparados para ello.

Cómo recuperar una contraseña de BIOS perdida: dos métodos efectivos

Forrester afirma que el mayor desafío para construir un service mesh efectivo es cómo concebirlo desde el principio. En este caso, es clave tener un sólido entendimiento de cómo un service mesh reduce la complejidad para los desarrolladores.

Hay mucho más que se necesita para construir un buen mesh y está cubierto en el informe de Forrester (de pago), que es imprescindible para aquellos que buscan ingresar, o expandir, su uso de los microservicios.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Qué es un service mesh y por qué es crucial para el éxito de los microservicios , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.