En general, la observabilidad es la medida que se utiliza para comprender el estado o la condición interna de un sistema complejo, basándose únicamente en el conocimiento de sus resultados. Cuanto más observable sea un sistema, con mayor rapidez y precisión podrá navegar desde un problema de rendimiento identificado hasta su causa raíz, sin pruebas ni codificación adicionales.
En TI y en la computación en la nube, la observabilidad también se refiere a las herramientas y prácticas de software que agregan, correlacionan y analizan un flujo constante de datos de rendimiento de una aplicación distribuida y el hardware y la red en el que se ejecuta, para supervisar, solucionar problemas y depurar la aplicación y la red de manera más efectiva para cumplir con las expectativas de experiencia del cliente, los acuerdos de nivel de servicio (SLA) y otros requisitos comerciales.
La observabilidad, que es un tema de TI relativamente nuevo, a menudo se malinterpreta como una palabra de moda exagerada o un "rebranding" de supervisión del sistema, supervisión del rendimiento de la aplicación (APM) y gestión del rendimiento de red (NPM). De hecho, la observabilidad es una evolución natural de los métodos de recopilación de datos de APM y NPM que mejor aborda una naturaleza cada vez más rápida, distribuida y dinámica de las implementaciones de aplicaciones nativas en la nube. La observabilidad no reemplaza la supervisión, sino que permite una mejor supervisión y mejores APM y NPM.
(El término "observabilidad" proviene de la teoría del control, un área de la ingeniería que se ocupa de automatizar el control de un sistema dinámico, por ejemplo, el flujo de agua a través de una tubería o la velocidad de un automóvil en pendientes y bajadas, en función de la retroalimentación del sistema.)
Durante los últimos 20 años, los equipos de TI han utilizado principalmente en APM para supervisar y solucionar problemas de aplicaciones. APM muestrea y agrega periódicamente datos de aplicaciones y sistemas denominados telemetría, que se sabe que está relacionado con problemas de rendimiento de la aplicación. Analiza la telemetría en relación con los indicadores clave de rendimiento (KPI) y reúne los resultados en un tablero para alertar a los equipos de operaciones y soporte sobre condiciones anormales que deben abordarse para resolver o prevenir problemas.
APM es lo suficientemente eficaz para supervisar y solucionar problemas de aplicaciones monolíticas o aplicaciones distribuidas tradicionales, donde se publica nuevo código de forma periódica y los flujos de trabajo y las dependencias entre los componentes de la aplicación, los servidores y los recursos relacionados son bien conocidos o fáciles de rastrear.
Pero hoy, las organizaciones están adoptando rápidamente prácticas de desarrollo modernas: desarrollo ágil, integración continua e implementación continua (CI/CD), DevOps, múltiples lenguajes de programación y tecnologías nativas de la nube, como microservicios, contenedores Docker, Kubernetes y funciones de sistemas sin servidor. Como resultado, nuevos servicios están saliendo al mercado mucho más rápido que nunca. Pero, en ese proceso, se están implementando nuevos componentes de aplicaciones con tanta frecuencia, en tantos lugares, en tantos lenguajes diferentes y durante períodos de tiempo tan variables (segundos o fracciones de segundo, en el caso de las funciones sin servidor) que los APM no pueden seguirles el paso.
Lo que se necesita es una telemetría de mayor calidad y, aún más, que se pueda utilizar para crear un registro de alta fidelidad, rico en contexto y completamente correlacionado de cada solicitud o transacción del usuario de la aplicación. Ingrese a la observabilidad.
Las plataformas de observabilidad descubren y recopilan la telemetría de rendimiento de forma continua al integrarse con la instrumentación existente incorporada en los componentes de la aplicación y la infraestructura, y al proporcionar herramientas para agregar instrumentación a estos componentes. La observabilidad se centra en cuatro tipos principales de telemetría:
Después de reunir esta telemetría, la plataforma la correlaciona en tiempo real para proporcionar a los equipos de DevOps, la ingeniería de confiabilidad del sitio (SRE) y la información completa y contextual del equipo de TI: el qué, dónde y por qué de cualquier evento que pueda indicar, causar o usarse para abordar un problema de rendimiento de la aplicación.
Muchas plataformas de observabilidad descubren automáticamente nuevas fuentes de telemetría que puedan surgir dentro del sistema (como una nueva llamada API a otra aplicación de software). Y debido a que manejan muchos más datos que una solución APM estándar, muchas plataformas incluyen capacidades de AIOps (inteligencia artificial para operaciones) que filtran las señales (indicaciones de problemas reales) del ruido (datos no relacionados con los problemas).
El beneficio general de la observabilidad es que, en igualdad de condiciones, un sistema más observable es más fácil de entender (en general y con gran detalle), más fácil de supervisar, más fácil y más seguro de actualizar con nuevo código y más fácil de reparar que un sistema menos observable. Más específicamente, la observabilidad respalda directamente los objetivos Agile/DevOps/SRE para entregar software de mayor calidad más rápido al permitir que una organización:
Desde sus flujos de trabajo de negocios hasta sus operaciones de TI, lo tenemos cubierto con automatización basada en IA.
Descubra la plataforma de observabilidad empresarial líder para nubes híbridas.
IBM® Cloud Pak for Watson AIOps es una solución de gestión de operaciones de TI que permite a los operadores de TI incorporar la IA en el núcleo de su cadena de herramientas de ITOps.