jueves, 14 de noviembre de 2019

Cómo lograr una comunicación fluida entre los microservicios



por Bruno Machado

PRINCIPAL SPECIALIST SOLUTION ARCHITECT

OPENSHIFT FOR DEVELOPERS | CLOUD-NATIVE DEVELOPMENT | APP MODERNIZATION & MIGRATION CO-MANAGER



Es claro que la adopción de microservicios ofrece una alternativa transformadora para las aplicaciones modernas nativas de la nube. Sin embargo, desarrollar y utilizar microservicios en producción de manera eficaz puede plantear nuevos desafíos al momento de implementar y gestionar la comunicación entre sí.



A medida que las aplicaciones evolucionan hacia colecciones de servicios descentralizados, la gestión de las comunicaciones y la seguridad entre esos servicios se vuelve cada vez más difícil. Adoptar microservicios significa aceptar la complejidad de la arquitectura para ganar agilidad. Esta complejidad del sistema es vital en la arquitectura de microservicios y supone una dificultad para los desarrolladores.



En este sentido, surge la necesidad de una experiencia más integral y eficiente en arquitecturas de aplicaciones basadas en microservicios, que ayude a liberarse de la compleja tarea de tener que implementar servicios de red a la medida de sus aplicaciones y lógica empresarial.



Para que los desarrolladores puedan agregar valor al negocio, en lugar de perder tiempo escribiendo código de infraestructura, surgió Service Mesh, una forma de controlar cómo los diferentes servicios de una aplicación se comunican. Esta malla de servicios es una infraestructura subyacente responsable de la gestión del tráfico, la implementación de políticas y la identidad y seguridad de los servicios.



A su vez, ahora existe la posibilidad de ampliar esta función de gestión de tráfico, incluyendo la capacidad de observar y visualizar los servicios de la topología de red con el objetivo de optimizar la experiencia. Este valor agregado se encuentra en OpenShift Service Mesh, que permite al desarrollador mejorar la implementación de sus arquitecturas de microservicios, al integrar la malla de servicios en la plataforma OpenShift, basada en Kubernetes, de manera nativa, además de habilitar el uso de arquitecturas aún más modernas como serverless



Tan necesario como esto, es que haya un excelente código que lo respalde. Red Hat es de los mayores líderes en la comunidad de Kubernetes. Lo que le da a la compañía un know-how único y prestigio mundial. Red Hat y CoreOS han proporcionado características clave para mejorar Kubernetes (Operators, etcd, StatefulSets, RBAC, etc). OpenShift es una de las primeras plataformas de Kubernetes y fue lanzada a mediados de 2015 y cuenta hoy con más de 1.300 clientes, como Disney, Lufthansa, Santander, Banco Galicia, BMW, por nombrar unos pocos. Cuán diferencial es entonces una plataforma que cuenta con un respaldo de años de experiencia en el soporte.



A través de una infraestructura diseñada con software de código abierto, los equipos de operaciones de plataformas se benefician al contar con la capacidad de implementar políticas informáticas que contemplan la seguridad y la comunicación de los servicios. Por su parte, los usuarios disponen de entornos normalizados en los centros de datos y en la nube. Entre sus beneficios, se destacan:






● Una experiencia integral orientada al desarrollador a través de tecnologías subyacentes unificadas y optimizadas (Istio, Kiali y Jaeger).

● Trazabilidad y medición que permite al desarrollador rastrear una petición entre servicios y acceder a la información de ese proceso de principio a fin.

● Visualización y observabilidad, ya que brinda un método más sencillo para visualizar la topología de servicios y observar cómo interactúan.

● Integración con Red Hat 3Scale API Management para los desarrolladores o equipos de operaciones que buscan asegurar aún más el acceso a la API a través de los servicios, OpenShift Service Mesh viene con el Red Hat 3scale Istio Mixer Adapter. Esto permite un control más profundo sobre la capa de API de comunicación de servicios en la gestión del tráfico del service mesh.

● Instalación y configuración de Service Mesh simplificada (un clic) por medio de Operators. Le brinda al desarrollador la capacidad de implementar aplicaciones más fácilmente en una malla de servicios, ayudando a minimizar la carga de gestión y a automatizar tareas comunes como la instalación, el mantenimiento del servicio y la gestión del ciclo de vida.



Una solución que simplifica las comunicaciones entre servicios en la plataforma de Kubernetes en toda la nube híbrida permitirá que el desarrollador sea más productivo, eliminando las cargas de conectividad y gestión de redes de sus tareas y brindándole la posibilidad de enfocarse en crear la próxima generación de aplicaciones empresariales.

No hay comentarios.:

Publicar un comentario