monitoreo microservicios

Qué aporta el seguimiento y monitoreo a su estrategia de microservicios

Muchas organizaciones se están precipitando hacia los microservicios sin comprender realmente algunos de los componentes más críticos de una implementación exitosa. El rastreo y el monitoreo ocupan un lugar destacado en esa lista. Vea cómo aprovechar la supervisión y el seguimiento puede mejorar sus microservicios.

No se equivoque al respecto: las migraciones cada vez mayores a la arquitectura de microservicios están garantizadas y continuarán. La agilidad, la flexibilidad y las recompensas de escala de reemplazar aplicaciones monolíticas voluminosas con servicios desacoplados que los equipos de DevOps, los desarrolladores y los ingenieros pueden implementar de forma independiente están ahí para tomar. Pero hacerlo bien no siempre es tan fácil como parece. Muchas organizaciones se están precipitando hacia los microservicios sin comprender realmente algunos de los componentes más críticos de una implementación exitosa.

El rastreo y el monitoreo ocupan un lugar destacado en esa lista.

Los grupos de microservicios suelen actuar como una aplicación única, incluso cuando las solicitudes se enrutan a través de varios servicios. Si ocurre un problema, los desarrolladores necesitan una forma de rastrear los problemas a lo largo de esa ruta bastante compleja. Incluso los sistemas que de otro modo funcionan bien pueden incluir problemas rastreables (como baja latencia). Para optimizar los microservicios, los desarrolladores necesitan un método para rastrear la latencia entre servicios y recopilar registros de servicios, al tiempo que minimizan la sobrecarga de registro.

El registro, la supervisión y el seguimiento no son lo mismo


Los términos registro, monitoreo y rastreo a menudo se combinan, pero es necesario comprender las distinciones:

El registro es la primera herramienta que utilizan los operadores para reaccionar e investigar errores de servicio o eventos de seguridad. Ofrece capacidades de auditoría a nivel de microservicio.

Logging permite a los operadores comprender las respuestas del servicio a las solicitudes mediante métricas proactivas. Estos incluyen métricas de infraestructura clave como CPU, memoria y E / S, así como métricas de tiempo de ejecución de la aplicación, como tamaño de pila, recuento de subprocesos y administración de memoria (recolección de basura).

Monitoring permite la optimización del rendimiento al registrar cómo varias solicitudes físicas logran una única solicitud lógica a nivel de aplicación en una cadena de servicios.

Tracing captura las excepciones y los errores que encuentra cada solicitud, incluida la información de tiempo y metadatos valiosos como el código de respuesta y los encabezados. Esto hace que el rastreo sea una herramienta de diagnóstico particularmente valiosa.

Si bien el registro es importante, profundicemos en el monitoreo y el rastreo debido a la utilidad particularmente alta que ofrecen en múltiples servicios.

Tracing
El seguimiento comienza en la ubicación donde una solicitud ingresa a una aplicación (a menudo llamada punto final) y luego genera una ID única para la solicitud. Cada servicio subsiguiente en el flujo de tráfico agrega más datos al seguimiento. Esto incluye la hora de llegada de la solicitud y el tiempo total de procesamiento. Al aprovechar esos datos, los operadores pueden crear políticas de alerta, objetivos de nivel de servicio y visualizar completamente el flujo de llamadas utilizando tecnologías de código abierto como Jaeger o Elastic APM. En muchos casos, los operadores utilizarán los datos recopilados mediante el rastreo para ayudar a aumentar la comprensión de sus datos de monitoreo.

Para los entornos de ejecución y marcos más populares, las bibliotecas y herramientas están disponibles para el seguimiento de instrumentos dentro de una aplicación de microservicios. Los equipos también pueden desarrollar sus propias soluciones para interceptar llamadas, agregar encabezados a solicitudes posteriores o colocar metadatos para rastrear el tráfico.

Seguimiento vs Monitoreo vs Ambos

La forma en que los desarrolladores aprovechan la supervisión y el monitoreo queda a su entera discreción; ambos son métodos poderosos, ya sea que se utilicen por separado o en conjunto.

La estrategia de muchas organizaciones a menudo comienza con métricas de monitoreo porque son más fáciles de implementar. El rastreo requiere un mayor esfuerzo para recopilar, almacenar y analizar grandes cantidades de telemetría de rastreo, pero también descubrirá una mayor amplitud y profundidad de visibilidad. Los datos de seguimiento agregados brindan información a los equipos sobre cuándo y dónde se deben escalar sus servicios. Monitorear y rastrear cada uno ayuda a detectar comportamientos anómalos en servicios individuales. El rastreo va un paso más allá al identificar la causa de las anomalías. El seguimiento también es un requisito para lograr una optimización más completa y mejoras de rendimiento de un extremo a otro. Las herramientas de código abierto como Traefik y Maesh pueden simplificar la implementación inicial del seguimiento distribuido al reducir significativamente las cargas de trabajo o los gastos generales de administración de telemetría.

Monitorear y rastrear cada uno produce buenos rendimientos al crear aplicaciones de microservicios que son confiables y de alto rendimiento. El monitoreo supervisa los servicios de la plataforma y el estado de la infraestructura. El seguimiento permite la resolución de problemas de cuellos de botella y anomalías inesperadas. Las aplicaciones maduras deben ser compatibles con cada una de estas técnicas para que la administración de servicios complejos sea optimizada y eficiente.

Deja un comentario