Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Computación en la nube

¿Qué es una red de servicios? ¿Cuáles son las mallas de servicios de código abierto disponibles?

Cuando se desarrolla en una arquitectura de microservicios, hay muchos componentes individuales que el equipo de DevOps necesita configurar. Para que los microservicios funcionen juntos, requieren canales de comunicación establecidos para compartir información y transferir datos.

Una forma de administrar y monitorear la comunicación entre servicios es usar una red de servicios.

¿Qué es una red de servicios?

Una red de servicios es una capa de infraestructura dedicada agregada a la arquitectura de microservicios. Su función principal es garantizar una comunicación rápida y segura de servicio a servicio. Esta herramienta de baja latencia administra y supervisa la comunicación entre servicios y el intercambio de datos.

Consiste en un plano de control desde el cual los desarrolladores implementan reglas y políticas específicas a la capa de red. El plano de control funciona directamente con el plano de datos, una colección de proxies sidecar que se ejecutan junto con los servicios. Estos proxies son responsables de toda la comunicación entre el servicio. Además, monitorean y brindan información valiosa sobre el rendimiento general de la aplicación y ayudan a encontrar posibles problemas y evitar el tiempo de inactividad.

Los proxies brindan capacidades valiosas, que incluyen:

El auge de la arquitectura de malla de servicio

Para comprender completamente cómo funciona una red de servicios, debemos analizar por qué se desarrolló dicha herramienta. El auge de la arquitectura de malla de servicios surgió como una solución a una serie de problemas relacionados con los microservicios.

Muchos equipos de desarrollo cambiaron del desarrollo de aplicaciones monolíticas a la arquitectura de microservicios . Esto dividió una aplicación de una unidad monolítica a un sistema de servicios individuales que trabajan juntos. La aplicación consta de múltiples servicios autónomos con sus funcionalidades individuales.

La dificultad de desarrollar una aplicación de este tipo es configurar la mejor manera para que estos servicios se comuniquen entre sí. El rendimiento de la aplicación depende de que los servicios trabajen juntos y compartan datos para brindar la mejor experiencia de usuario. Por ejemplo, una tienda web podría consistir en un servicio de inicio de sesión que se comunica con un servicio de compra que requiere información de una base de datos de inventario y así sucesivamente.

A medida que los microservicios se comunican a través de las API, encontrar la mejor solución para resolver el descubrimientoenrutamiento era importante Además, los desarrolladores debían asegurarse de que la comunicación dentro del sistema fuera segura. . Si bien los cortafuegos protegían la aplicación de ataques externos, había una red plana y abierta dentro de la arquitectura del microservicio.

Antes de la arquitectura de servicio de malla, esta tarea la realizaban equilibradores de carga. . Sin embargo, no fue una solución práctica, especialmente a mayor escala, debido a problemas de implementación y costos. La red de servicios se desarrolló como una solución definitiva para todos los problemas mencionados anteriormente. Presentó una capa de red con un registro centralizado (plano de control) que gestionaba todos los servicios con sus proxies sidecar. Son mucho más fáciles de configurar y escalar en comparación con los balanceadores de carga. Los desarrolladores pueden escalar los proxies hacia arriba y hacia abajo según sea necesario y cambiar las reglas de enrutamiento sin modificar los servicios.

Beneficios de la red de servicios

Los beneficios más significativos de Service Mesh son:

Lista de mallas de servicios de código abierto

Hay una serie de mallas de servicios de código abierto disponibles. Istio, Linkerd y Consul son los más utilizados.

A continuación encontrará más detalles sobre cada plataforma.

Istio

Istio es una infraestructura de código abierto diseñada por Google, IBM y Lyft. Es una de las primeras plataformas de malla de servicio. Utiliza Istiod , un plano de control que consta de múltiples componentes (PilotCiudadelaMezclador ) para operar y configurar la red de servicios. El plano de datos está formado por Envoy proxies, desarrollado en C++ . Las conexiones HTTP/TCP son gestionadas por Puerta de enlace , el equilibrador de carga de Istio. El servicio virtualReglas de destino definir reglas y políticas de enrutamiento.

Linkerd

Linkerd es una malla de servicios de código abierto ligera, desarrollada por el proyecto Cloud Native Computing Foundation (CNCF). Es fácil de instalar en un clúster de Kubernetes en la parte superior de cualquier plataforma, sin configuración adicional. No tener configuración es beneficioso cuando se trabaja con clústeres más pequeños. Sin embargo, los proyectos de gran escala requieren la posibilidad de configuración para administrar todos los servicios en el clúster con éxito.

Sus proxies sidecar están escritos en Rust . Linkerd usa el Controlador para el plano de control y la implementación web para el tablero. Además, utilizó Prometheus para explorar y almacenar métricas y Grafana para renderizar y mostrar paneles.

Cónsul Connect

Consul se diseñó primero como una herramienta de descubrimiento de servicios y luego se convirtió en una red de servicios. A diferencia de Linkerd, Consul Connect incluye mucha configuración, lo que le brinda más control sobre el entorno de red. En consecuencia, es más difícil de usar que Linkerd. Esta red de servicios de código abierto es independiente de la plataforma, lo que significa que no requiere Kubernetes ni Nomad. Aun así, Nómada simplifica el proceso de gestión de la comunicación de microservicios a través de Consul.

Red de servicios abiertos de Microsoft

Open Service Mesh (OSM) es un proyecto CNCF Envoy que implementa una interfaz de malla de servicios para administrar y asegurar aplicaciones dinámicas de microservicios. Utiliza Envoy xDS como contenedores sidecar. Sus características principales incluyen el cambio de tráfico, la gestión de certificados, la habilitación de mTLS, la inyección automática de sidecar y las políticas de control de acceso.

Kuma

Kuma es un plano de control de código abierto para Kubernetes y máquinas virtuales que se ejecutan dentro de una red de servicios. Tiene arquitectura de políticas L4+L7 que implementa funciones como descubrimiento de servicios, enrutamiento, seguridad de confianza cero y observabilidad. La plataforma es altamente escalable y fácil de configurar.

Servicio OpenShift Mesh Red Hat

Red Hat desarrolló OpenShift Service Mesh para administrar aplicaciones de microservicios. Proporciona múltiples interfaces para redes y mayor seguridad con Restricción de contexto de seguridad . Mide el rendimiento con Jager y observa interacciones entre servicios con Kiali . Además, OpenShift incluye el adaptador mezclador Red Hat 3scale Istio para mejorar la seguridad de la API.

Malla de aplicaciones de AWS

Amazon desarrolló App Mesh, un software de malla de servicio gratuito que administra todos sus servicios dentro de una arquitectura de microservicio. Proporciona alta disponibilidad y visibilidad de extremo a extremo para su aplicación de microservicio. AWS App Mesh se integra con AWS FargateAmazon ECSAmazon EC2Amazon EKSKubernetesAWS Outposts . Con sus herramientas de supervisión, exporta automáticamente los datos de supervisión.

Malla de servicio de red

Network Service Mesh es un proyecto CNCF Sandbox de código abierto . Es una malla de servicio IP híbrida/multinube que utiliza un conjunto simple de API para facilitar la conectividad. Establece una conexión entre los servicios que se ejecutan dentro de los contenedores y con puntos finales externos. Cuando se implementa, requiere cambios mínimos en Kubernetes.

En Conclusión

Una red de servicios simplifica la gestión y el mantenimiento de una aplicación desarrollada con la arquitectura de microservicios. Mejora la seguridad general dentro de la arquitectura de microservicios y garantiza la visibilidad y la observabilidad del flujo de tráfico. En general, las funciones de Service Mesh mejoran el rendimiento y aceleran el ciclo de desarrollo. Con una amplia variedad de soluciones de código abierto disponibles, encuentre la que mejor se adapte a las necesidades de sus aplicaciones.


Computación en la nube

  1. ¿Cuáles son los mejores cursos de computación en la nube?
  2. ¿Cuáles son los beneficios del corte por chorro de agua?
  3. ¿Cuáles son los beneficios del pulido con chorro de arena?
  4. ¿Cuáles son las principales propiedades del grafito?
  5. ¿Cuáles son los beneficios del corte por chorro de agua?
  6. ¿Cuáles son los 7 tipos de tecnología?
  7. ¿Cuáles son los diferentes tipos de prototipos?
  8. ¿Cuáles son los 4 tipos de procesos de fabricación?
  9. ¿Cuáles son los 5 ejes de mecanizado?
  10. ¿Cuáles son los tipos de rodamiento?
  11. ¿Qué estás tomando? Robots en la industria de servicios