¿Quieres saber cómo podemos ayudarte?   Agenda tu cita ahora mismo 

Idioma:   English EN Español ES

Lista de las Mejores Herramientas de Service Mesh para Microservicios

 

En este blog, veremos la lista de las mejores herramientas de service mesh para microservicios que proporcionan seguridad, despliegue canario, telemetría, equilibrio de carga y mucho más.

 

El número de herramientas de service mesh para desplegar y operar microservicios es cada vez mayor. En este post, exploraremos las principales herramientas de service mesh que debería utilizar para construir su propia arquitectura de service mesh.

 

Lo primero que hay que hacer cuando se desarrolla una estrategia para seleccionar la herramienta correcta es entender qué le proporcionará y qué tan bien funciona.

 

Nota: Para entender mejor el service mesh, usted deberá tener conocimientos de microservicios y Kubernetes o herramientas de orquestación de contenedores similares.

 

 

¿Qué es un service mesh?

 

En arquitectura de software, un service mesh es una capa de infraestructura dedicada para facilitar las comunicaciones de servicio a servicio entre servicios o microservicios, utilizando un proxy
wikipedia.org

 

¿Y si usted quiere gestionar, monitorizar y asegurar las comunicaciones entre todos los microservicios? Aquí es donde entra en escena un Service mesh.

 

Un service mesh es una herramienta que provee una capa de abstracción para los microservicios. Proveen capacidades de enrutamiento inteligente, resiliencia y equilibrio de carga entre servicios con mejor tolerancia a los fallos que las soluciones tradicionales.

 

En general, un service mesh gestiona toda la comunicación de servicio a servicio. Intercepta todo el flujo de tráfico entre servicios. La mejor parte es que puede gestionar todas las funcionalidades de service mesh de forma declarativa, de la misma manera que usted despliega objetos en Kubernetes.

 

¿Qué hace un Service mesh?

 

Un service mesh gestiona esencialmente el flujo de tráfico entre múltiples microservicios utilizando principalmente un proxy sidecar.

 

Hay muchos beneficios utilizando service mesh, incluyendo el aumento de la seguridad al proveer  cifrado de las comunicaciones, simplificación de los procesos de depuración gracias a las herramientas de observabilidad, así como una mayor disponibilidad debido a las funciones inteligentes de conmutación por error y la escalabilidad horizontal con el rastreo distribuido a través de contenedores o máquinas.

 

Un service mesh tiene como objetivo proporcionar las siguientes características

  1. Enrutamiento y Equilibrio de Carga
  2. Descubrimiento de servicios
  3. Autenticación y autorización
  4. Despliegues canarios
  5. Desconexión de circuitos, limitación de Velocidad, comprobaciones de estado y presupuestos de reintentos
  6. Seguridad de nivel de transporte mutuo (mTLS) y listas de control de Acceso.
  7. Observabilidad a través del rastreo Distribuido
  8. Registros de acceso a la comunicación de servicio a servicio

 

En la mayoría de los casos, un contenedor sidecar que se ejecuta junto con el contenedor de la aplicación se encarga de todas las características mencionadas anteriormente. Usted no tiene que diseñar especialmente una aplicación para trabajar con un service mesh. También, no se requiere instrumentación adicional para monitorear los servicios con capacidades de service mesh.

 

¿Cuáles son las Mejores Herramientas de Service Mesh?

 

Aquí está mi selección de las mejores herramientas de service mesh

  1. Istio
Github Istio Open Source repo
Sitio web Oficial istio.io
Aprendizaje Istio Documentación Oficial

 

Istio es un service mesh que fue desarrollada originalmente por Google pero ahora es de código abierto. Provee una forma de conectar, gestionar y asegurar los microservicios que se comunican entre sí.

 

Las características de seguridad de Istio incluyen el cifrado de toda la comunicación entre los servicios en tránsito, así como la provisión de credenciales de autenticación para los usuarios autorizados. Istio también ofrece funcionalidades como el rastreo distribuido a través de contenedores o máquinas sin la necesidad de agentes de software de terceros dentro de los nodos individuales.

 

Istio es utilizado en producción por muchas empresas como Adobe, Baidu y Google.

 

Aquí hay algunas historias de producción de Istio.

1.Aprendizajes de Hellofresh ejecutando Istio en prodcución

2.cult.fit Historia de Istio

 

 

  1. Linkerd
Github Open Source repo
Sitio web Oficial linkerd.io
Aprendizaje Documentación Oficial

 

 

Linkerd es un service mesh de código abierto que puede ejecutarse sobre Kubernetes o un clúster de Mesos y está diseñado para entornos de gran escala para gestionar un gran número de microservicios.

 

Linkerd también proveerá supervisión, rastreo, enrutamiento, equilibrio de carga y otras funciones, así como actualizaciones automáticas de despliegue a través de clústeres

 

Algunas lecturas relacionadas con la producción de Linkerd,

 

  1. Linkerd Production Runbook de Buoyant, de los creadores de Linkerd.
  2. Linkerd service mesh en producción

 

Consul connect

 

Github Open Source repo
Sitio web Oficial consul.io
Aprendizaje Documentación Oficial

 

Consul connect es una solución de service mesh de Hashicorp.

Consul fue diseñado inicialmente para el descubrimiento de servicios. Sin embargo, con Consul connect, el service mesh se despliega sobre Consul y provee descubrimiento de servicios, sincronización de configuración y detección de fallos.

Consul connect puede funcionar en producción con o sin Kubernetes.

  1. Consul connect en prodcución

 

Traefik Mesh

Github Open Source repo
Sitio web Oficial traefik.io
Aprendizaje Documentacion Oficial

 

Traefik Mesh es una sencilla solución de service mesh, utilizada principalmente para el equilibrio de la carga.

Traefik Mesh es un complemento del proxy inverso popular Traefik que ayuda a descubrir servicios y a enrutarlos entre ellos para equilibrar las cargas de trabajo.

También provee características como la terminación SSL y el proxy de socket web, así que no tiene que preocuparse de esas cosas por su cuenta

 

Open Service Mesh (OSM)

 

Github OSM repo
Sitio web Oficial openservicemesh.io
Aprendizaje OSM Documentación Oficial

 

Open Service Mesh (OSM) es un service mesh nativo de la nube, ligera y extensible, que admite el descubrimiento de servicios dinámicos, el monitoreo y el enrutamiento.

 

OSM se puede conectar a todos los niveles para proveer el mejor ajuste a sus necesidades:

 

  1. Descubrimiento de Servicios – Capa cuatro (IP), o capa siete (URL)
  2. Monitorización – Métricas basadas en Prometheus con backends compatibles con Graphite, InfluxDB y Elasticsearch
  3. Enrutamiento – HAProxy como proxy entre los servicios que proveen alta disponibilidad a través del equilibrio de carga de las solicitudes a través de vainas en un clúster. También proveen características como la terminación SSL y el proxy de sockets web para que no tenga que preocuparse de esas cosas por su cuenta si se ejecutan a través de protocolos inseguros como la conexión TCP/UDP de texto plano. Esto ayuda a asegurar el control de acceso permitiendo sólo el tráfico de IPs autorizadas a través de service mesh.

 

  1. Nginx Service Mesh (NSM)

Nginx service mesh es un service mesh ligero para kubernetes con un entorno de confianza cero que provee tráfico cifrado entre contenedores.

 

Gestiona el tráfico de datos entre los contenedores utilizando el plano de datos impulsado por Nginx Plus. Nginx service mesh se centra en lo siguiente.

 

  1. Seguridad: tráfico cifrado mTLS entre servicios.
  2. Gestión del tráfico: Control de tráfico gestionado por políticas entre servicios con limitación de velocidad y disyuntores.
  3. Visualización: El tablero de Grafana incorporado proporciona visibilidad a las métricas de NGINX plus.
  4. Despliegues híbridos: Las aplicaciones heredadas pueden comunicarse con el service mesh a través del controlador de entrada de Nginx

 

Kuma

 

Github Kuma Open Source repo
Sitio web Oficial kuma.io
Aprendizaje Kuma Documentación Oficial

 

 

Kuma service mesh fue creada originalmente por Kong, Inc y ahora es un proyecto sandbox de CNCF. Está construida sobre el proxy Envoy. Puede actuar como un service mesh para ambos, el clúster kubernetes y las máquinas virtuales.

 

Estas son las principales características de Kuma

 

  1. Plano de Control universal
  2. Plano de Datos Ligero
  3. Multi-Mesh
  4. Rotación mTLS y TLS
  5. Inyección de fallos
  6. Rastreo de tráfico y métricas de tráfico
  7. Plataforma-Agnóstica
  8. Proxy transparente

 

Otras Herramientas de Service mesh A Considerar

 

A continuación están otras herramientas de service mesh basadas en el CNCF.

 

  1. Meshery
  2. Gloo Mesh
  3. Materia gris
  4. Interfaz Service Mesh
  5. Service Mesh de Red

 

Estos son algunos de los servicios de service mesh gestionados en la nube.

 

  1. AWS App Mesh
  2. Anthos Service Mesh
  3. OpenShift Service Mesh de Red Hat

 

Eso es todo.

 

Ahí lo tiene: mi lista de las mejores herramientas de service mesh.

 

Cuando haga su elección, primero profundice en las características de service mesh. Debe ser capaz de adaptar las necesidades de su organización con las características proporcionadas por la herramienta de Service mesh.

 

En segundo lugar, decida si tiene el equipo con las habilidades necesarias para implementar y gestionar la herramienta. La configuración inicial siempre es fácil, el problema real viene en la gestión de su ciclo de vida.

 

Así que elija la mejor opción adaptada a las necesidades de su proyecto.

 

Seguiré actualizando este blog con la información más reciente sobre las herramientas y sus lanzamientos.

 

Y si está buscando una buena plataforma de orquestación de contenedores, lea mis reseñas sobre las mejores plataformas de orquestación de contenedores.

 

Tomado de la web:

Traducido al español por Devops Latam.

CONTRIBUIDO POR
Bibin Wilson 

PUBLICADO en Enero 5 de 2022

Link: https://devopscube.com/service-mesh-tools/

Leave a Reply

Tu dirección de correo electrónico no será publicada.