¿Qué es observabilidad?

¿Qué es la observabilidad?

Algo es observable si es posible saber el estado actual del sistema solo a partir de sus datos procesados externamente. En términos tecnológicos, eso significa que la observabilidad es poder decir lo que sucede dentro de los sistemas, procesos y microservicios complejos de una pila de tecnología y/o aplicación completa, únicamente a partir de los flujos de datos existentes recopilados.

Un sistema que no es observable requiere codificación y servicios adicionales para evaluar y analizar lo que está sucediendo. Cuando surgen problemas, pueden ser desde inconvenientes hasta desastrosos, especialmente si esos problemas del sistema están causando tiempo de inactividad o una experiencia de usuario (UX) deficiente.

Observabilidad vs. Monitoreo

¿Es lo mismo observabilidad que monitoreo? No, aunque la capacidad de lograr la observabilidad puede depender de alguna manera de herramientas y plataformas de monitoreo efectivas. Se podría decir que las herramientas de monitoreo efectivas aumentan la observabilidad de un sistema.

El monitoreo es una acción, algo que alguien hace: monitorea la efectividad o el rendimiento de un sistema, ya sea manualmente o mediante el uso de varias formas de automatización. Las herramientas de monitoreo recopilan y analizan datos de un sistema o sistemas, brindan información y sugieren acciones o ajustes cuando sea necesario. Algunas herramientas de monitoreo pueden proporcionar información básica pero crucial, como alertar a un administrador del sistema cuando un sistema deja de funcionar o, por el contrario, cuando vuelve a funcionar. Otras herramientas de monitoreo pueden medir la latencia, el tráfico u otros aspectos de un sistema que pueden afectar la experiencia general del usuario. Las herramientas más avanzadas pueden vincularse a docenas, cientos e incluso miles de flujos de datos que proporcionan datos y análisis de amplio alcance para sistemas complejos.

La observabilidad no es una forma de monitoreo. Más bien, es una descripción del sistema general; un aspecto del sistema que se puede considerar como un todo, de la misma manera que alguien podría hablar sobre la funcionalidad del sistema. La observabilidad de un sistema determina qué tan bien un observador puede evaluar el estado interno del sistema simplemente monitoreando las salidas. Si un desarrollador puede usar los resultados de un sistema, por ejemplo, los proporcionados por APM, para inferir con precisión el rendimiento holístico del sistema, eso es observabilidad.

En resumen, monitoreo no es sinónimo de observabilidad o viceversa. Es posible monitorear un sistema y aun así no lograr la observabilidad si el monitoreo no es efectivo o los resultados del sistema no brindan los datos correctos. Las herramientas o plataformas de monitoreo adecuadas ayudan a que un sistema logre la observabilidad.

¿Cuáles son los tres pilares de la observabilidad?

Una forma común de analizar la observabilidad es dividirla en tres tipos de telemetría: métricas, seguimientos y registros. Estos tres puntos de datos críticos a menudo se denominan los tres pilares de la observabilidad. Es importante recordar que, aunque estos pilares son clave para lograr la observabilidad, son solo la telemetría y no el resultado final.

Registros (Logs)

Al igual que el registro del capitán en un barco, los registros en el mundo de la tecnología y el desarrollo proporcionan un registro escrito de los eventos dentro de un sistema. Los registros tienen una marca de tiempo y pueden venir en una variedad de formatos, incluidos binarios y texto sin formato. También hay registros estructurados que combinan texto y metadatos y, a menudo, son más fáciles de consultar. Un registro puede ser la forma más rápida de acceder a lo que salió mal dentro de un sistema.

Métricas (KPIs)

Las métricas son varios valores monitoreados durante un período de tiempo. Las métricas pueden ser indicadores clave de rendimiento (KPI), capacidad de CPU, memoria o cualquier otra medida del estado y rendimiento de un sistema. Comprender las fluctuaciones en el rendimiento a lo largo del tiempo ayuda a los equipos de TI a comprender mejor la experiencia del usuario, lo que a su vez les ayuda a mejorarla.

Seguimiento (Tracking)

Un seguimiento es una forma de registrar una solicitud de usuario a lo largo de su viaje, desde la interfaz de usuario a través del sistema, y de regreso al usuario cuando recibe la confirmación de que su solicitud ha sido procesada. Cada operación realizada sobre la solicitud se registra como parte de la traza. En un sistema complejo, una sola solicitud puede pasar por docenas de microservicios. Cada una de estas operaciones separadas, o intervalos, contiene datos cruciales que se convierten en parte del seguimiento. Los seguimientos son fundamentales para identificar cuellos de botella en los sistemas o ver dónde falla un proceso.