Comunidad Tecnología

Observabilidad y Monitorización: ¿Son iguales?

mayo 24, 2018

Observabilidad y Monitorización: ¿Son iguales?

This post is also available in : Inglés

Observabilidad: descubre su posible influencia en la monitorización

Hemos estado escuchando el término Observabilidad desde hace un tiempo, siempre asociado con Monitorización, y aunque el término cambia de significado dependiendo del artículo que estemos leyendo o de la conferencia a la que asistamos, parece que la Observabilidad llegó para quedarse.

Ahora, ¿qué es la Observabilidad y qué tiene que ver con la Monitorización?

Hay quienes consideran que la Observabilidad no es más que un concepto moderno de Monitorización, pero si revisamos el concepto de Observabilidad podemos ver que la idea no está bien respaldada.

«En la teoría de control, observabilidad es una medida de cómo los estados internos de un sistema pueden inferir a partir del conocimiento de sus salidas externas».

Afirma que la Observabilidad es un atributo de los sistemas y no una actividad que ejecutamos. Esta es la diferencia básica entre Observabilidad y Monitorización.

El concepto de Observabilidad se refiere a un «sistema», pero como estamos trabajando con la Observabilidad en relación con la monitorización, vamos a entenderlo como un sistema para cualquier elemento a ser monitorizado, es decir, un servidor, red, servicio o aplicación.

De acuerdo con el concepto, entendemos que cualquier sistema puede ser más o menos observable, pero el concepto no indica nada sobre:

  1. ¿De qué manera debemos medir los resultados del sistema?
  2. ¿De qué manera, dada la evaluación de los resultados, podemos o debemos inferir en el estado del sistema?

Algunos autores explican la Observabilidad como un concepto global que incluye actividades de monitorización más alertas y administración de alertas, visualización, análisis de trazas para sistemas distribuidos y análisis de registros.

Este concepto también es difícil de aceptar, especialmente para aquellos como yo que entendemos que es precisamente la monitorización la cual debe incluir esas actividades para cumplir su objetivo principal de traducir las métricas de TI en significado comercial y atender los desafíos impuestos por tecnologías emergentes como el desarrollo de aplicaciones basado en contenedores, infraestructura en la nube y DevOps.

Sin embargo, la Observabilidad no parece ser un atributo que podamos descartar. Por el contrario, parece lo suficientemente importante como para incluirlo en el mismo grupo que la eficiencia, usabilidad, comprobabilidad, auditabilidad, fiabilidad, etc.

Entonces, digamos que la Observabilidad es un atributo deseable en nuestros sistemas y la monitorización es la actividad de observar y evaluar el comportamiento y el rendimiento de dichos sistemas.

En este caso, es importante revisar qué características debe tener el sistema y qué sistema de monitorización se usará para observarlas.

En cuanto a la arquitectura de los elementos a monitorear, el concepto de Observabilidad nos lleva a considerar, entre otras cosas:

Observabilidad y monitorización como elementos clave en el diseño

Es deseable que la Observabilidad y la monitorización no sean una ocurrencia tardía cuando se diseña; en cambio, deben considerarse desde el principio, evitando así problemas durante la implementación de los sistemas de monitorización.

De hecho, en la guía SRE (Site Reliability Engineering), Google explica cómo utilizan una pirámide Maslow reformulada para implementar sistemas distribuidos donde la monitorización está incluida como la base de la pirámide.

Originalmente, Abraham Maslow propuso una pirámide que organizaba las necesidades humanas en una jerarquía de necesidades, colocando las necesidades más esenciales en el fondo. Teniendo esto en cuenta, los ingenieros de Google tomaron ese modelo y lo adaptaron a los elementos clave para desarrollar y ejecutar sistemas distribuidos.

observabilidad

Sin monitorización, no hay forma de saber si el servicio está funcionando; sin una infraestructura de monitorización cuidadosamente diseñada, estás volando a ciegas.
Google SRE guide, capítulo 3

Un coste reducido para la aplicación de un sistema de monitorización

Los sistemas altamente observables significarán un coste menor para la implementación de un sistema de monitorización.

Pensemos por ejemplo que queremos integrar un sistema específico a nuestra plataforma, pero necesitamos nuestra propia solución de monitorización desarrollada a medida, ya sea porque ninguna de las herramientas de monitorización comercial incluye este tipo de monitorización o porque la naturaleza del sistema lo hace incompatible con esas herramientas de monitorización. Entonces, tal vez, la mejor solución es descartar este sistema y elegir otro más compatible con la idea de observabilidad.

La observabilidad como valor cultural

En 2013, Twitter publicó el primero de dos documentos sobre cómo su grupo de ingenieros se enfrenta a la necesidad de evaluar el rendimiento de sus servicios.

En este primer documento informan de que tienen un grupo de personas, llamado equipo de Observabilidad.

En el segundo documento (2106) establecieron la misión del equipo de Observabilidad:

«… proporcionar bibliotecas de pila completa y servicios múltiples a nuestros equipos de ingeniería internos para monitorizar el estado del servicio, alertar sobre problemas, apoyar la investigación desde la causa raíz proporcionando sistemas distribuidos de rastreo de llamadas y diagnósticos de soporte mediante la creación de un índice de búsqueda de registros de aplicación/sistema agregados.»

De esta forma, Twitter nos permite conocer la importancia de la cultura de la Observabilidad en la empresa.

Hoy en día, autores como Theo Schlossnagle ( @postwait ) y Baron Schwartz ( @xaprb ) han señalado la importancia de una sólida cultura de la Observabilidad.

Posibilidades de fallo bien conocidas

Diseñar y desarrollar sistemas observables implica necesariamente un conocimiento sólido de las posibilidades de fallo para el grupo de elementos clave del sistema.

Ese conocimiento podría ser la base para una posterior elección de las métricas correctas, una personalización de alertas adecuada y para la definición de un proceso apropiado para la recuperación de fallos y el mantenimiento del rendimiento.

En cuanto a la arquitectura de los sistemas de monitorización, debemos retomar esta clasificación y evaluar cuál es más compatible con la idea de Observabilidad.

Monitorización Blackbox

La monitorización de Blackbox se refiere a una monitorización de un sistema desde el exterior, basado en el comportamiento visible externo y tratando el sistema como un blackbox.

La monitorización de Blackbox se basa en un proceso centralizado de recopilación de datos mediante consultas a los elementos que se monitorizarán.

Por lo tanto, los elementos supervisados ​​asumen un rol pasivo, respondiendo solo sobre su comportamiento y desempeño cuando son consultados por un recopilador central o un elemento activo. La monitorización Blackbox implica escalabilidad vertical.

Un ejemplo muy rudimentario sería un ping del sistema central para tener información sobre la actividad de los elementos monitorizados.

Tradicionalmente, la monitorización de Blackbox se centra en la medición de la disponibilidad y tiene como prioridad la reducción del tiempo de inactividad.

Monitorización de Whitebox

En una arquitectura de whitebox, los elementos monitorizados se activan cuando envían datos sobre su comportamiento y desempeño a un sistema de monitorización que puede escucharlos.

Los emisores informan sobre los datos siempre que pueden, generalmente tan pronto como se genera la información. La transmisión se ejecuta eligiendo un esquema y formato de comunicación apropiado para el elemento monitorizado y el sistema de recolección. La monitorización de Whitebox implica escalabilidad vertical.

Este tipo de arquitectura se centra en evaluar el comportamiento y la calidad de los servicios expuestos por los elementos internos del sistema.

La observabilidad nos guía más hacia la monitorización de Whitebox. La razón principal es el mantenimiento de los informes de elementos internos, lo que significa una gran ventaja a la hora de deducir cuáles son los estados internos. Sin embargo, todavía creemos que la mejor idea sería un esquema mixto.

Para nuestros lectores interesados ​​en la arquitectura de Pandora FMS, recomendamos visitar esta página para obtener más detalles.


Written by:



One comment
Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.