Consultoría & Consultores

Seguramente hayas oído hablar del concepto de observabilidad como una evolución de la monitorización de servicios IT. Pero no todo el mundo se pone de acuerdo qué implica realmente, y es que es más complejo de lo que parece a simple vista. Por este motivo, trataremos de explicar los conceptos y dar nuestro punto de vista al respecto.

Monitorización

A modo de introducción, la monitorización tradicional nació por la necesidad de supervisar las métricas básicas de infraestructura (CPU, RAM, Disco, conectividad, etc). Y con el tiempo también se desarrollaron capacidades para controlar los procesos del sistema y realizar validaciones algo más complejas. Sin embargo, como esta información no era suficiente para validar la calidad del servicio, aparecieron las soluciones de APM – Application Performance Monitoring, que a través de diferentes aproximaciones permitían monitorizar el rendimiento y la disponibilidad de los servicios IT ante las acciones de los usuarios (monitorización de la experiencia de usuario).

El problema de la monitorización ha sido, y continúa siendo, que para ser efectiva se debe partir de supuestos que desgraciadamente no siempre se cumplen:

  • Definir umbrales muy precisos para alertarnos de anomalías sin generar ruido innecesario.
  • Tener la capacidad de que estos umbrales sean dinámicos: No es lo mismo la carga de un sistema cuando no hay nadie accediendo a él que en horario de máxima actividad.
  • Debemos saber de antemano todo lo que tenemos que controlar para verificar que el sistema se está comportando bien.
  • Conocer con detalle todos los componentes del sistema y sus relaciones, teniendo acceso a ellos.
  • Ser capaces de adaptar la monitorización a la misma velocidad que se producen cambios en los servicios.
  • Realizar una correlación de alertas que nos permita acceder rápidamente a la causa raíz de los problemas.

Y la perspectiva de futuro no parece que sea demasiado optimista al respecto: cada día los sistemas son más complejos (arquitecturas híbridas), tienen más componentes (pensemos en los microservicios), son más dinámicos (containers Vs arquitectura tradicional), y cambian a mayor velocidad (DevOps).

Seguir leyendo en ABAST