En general, la observabilidad es el grado en que puede comprender el estado interno o la condición de un sistema complejo basándose únicamente en el conocimiento de sus salidas externas. Cuanto más observable sea un sistema, más rápida y precisa podrá ser su respuesta desde que identifica un problema de rendimiento hasta que encuentra su causa raíz, sin pruebas ni codificación adicionales.
En TI y cloud computing, la observabilidad hace referencia a las herramientas y prácticas de software para agregar, correlacionar y analizar un flujo constante de datos de rendimiento de una aplicación distribuida, además del hardware y la red en los que se ejecuta, con el fin de supervisar, resolver problemas y depurar la aplicación y la red de manera más eficaz para cumplir las expectativas de experiencia del cliente, los acuerdos de nivel de servicio (SLA) y otros requisitos de negocio.
La observabilidad es una cuestión relativamente reciente en TI y a menudo se caracteriza erróneamente como una palabra de moda sobrevalorada, o una nueva forma de referirse a la supervisión del sistema, la supervisión del rendimiento de las aplicaciones (APM) y la gestión del rendimiento de la red (NPM). En realidad, la observabilidad es una evolución natural de los métodos de recopilación de datos NPM y APM que se adapta mejor al carácter dinámico, distribuido y cada vez más rápido de los despliegues de aplicaciones nativas en cloud. La observabilidad no sustituye a la supervisión, sino que posibilita una mejor supervisión y unas 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 la automatización del control de un sistema dinámico, como por ejemplo el flujo de agua a través de una tubería, o la velocidad de un automóvil en pendientes de subida y bajada, en función del feedback del sistema.
Durante los últimos 20 años, los equipos de TI se han basado principalmente en APM para supervisar las aplicaciones y resolver sus problemas. APM muestrea y agrega periódicamente los datos de las aplicaciones y del sistema, un concepto que se denomina telemetría y que se sabe que está relacionado con los problemas de rendimiento de las aplicaciones. Analiza la telemetría relativa a los indicadores clave de rendimiento (KPI) y ensambla los resultados en un panel de control para alertar a los equipos de operaciones y soporte sobre condiciones anormales que deben abordarse para resolver o impedir problemas.
APM es un método lo suficientemente efectivo para la supervisión y la resolución de problemas de aplicaciones monolíticas o aplicaciones distribuidas tradicionales en el que se publica nuevo código periódicamente, y los flujos de trabajo y las dependencias entre los componentes de las aplicaciones, los servidores y los recursos relacionados son conocidos o de fácil seguimiento.
No obstante, hoy en día las organizaciones están adoptando rápidamente prácticas modernas de desarrollo —desarrollo ágil, integración continua y despliegue continuo (CI/CD), DevOps, varios lenguajes de programación— y tecnologías nativas en cloud, como microservicios, contenedores Docker, Kubernetes y funciones sin servidor. Como resultado, están lanzando más servicios al mercado y más rápido que nunca. Sin embargo, en el proceso, están desplegando nuevos componentes de aplicaciones con tanta frecuencia, en tantos lugares distintos, en tantos idiomas diferentes y durante períodos de tiempo tan variados (segundos o fracciones de segundo, en el caso de las funciones sin servidor) que el muestreo de datos de APM (que se realiza una vez por minuto) se queda atrás y no puede seguir el ritmo.
Lo que hace falta es telemetría de mayor calidad, y en mucha más cantidad, que pueda usarse para crear un registro de alta fidelidad, con mucho contexto y totalmente correlacionado de todas las transacciones o solicitudes de usuario de las aplicaciones. Descubra la observabilidad.
Las plataformas de observabilidad descubren y recopilan telemetría de rendimiento de forma continua integrándose con la instrumentación existente incorporada en los componentes de infraestructura y aplicaciones y proporcionando herramientas para añadir instrumentación a estos componentes. La observabilidad se centra en cuatro tipos de telemetría principales:
Tras recopilar esta telemetría, la plataforma la correlaciona en tiempo real para proporcionar a los equipos de DevOps, a los equipos de ingeniería de fiabilidad de sitios (SRE) y al personal de TI información contextual y completa: el qué, el dónde y el porqué de cualquier suceso que pueda indicar o causar un problema de rendimiento de una aplicación, o servir para resolverlo.
Muchas plataformas de observabilidad descubren automáticamente nuevas fuentes de telemetría como las que puedan surgir dentro del sistema (como una nueva llamada de API a otra aplicación de software). Además, dado que tratan muchos más datos que una solución APM estándar, muchas de ellas incluyen prestaciones de AIOps (inteligencia artificial para operaciones) que permiten separar las señales —indicadores de problemas reales— del ruido (datos que no tienen nada que ver con problemas).
La ventaja de la observabilidad a nivel global es que, aunque todo lo demás sea igual, un sistema más observable es más fácil de entender (en general y en mayor detalle), de supervisar, de proteger y de actualizar con nuevo código, y más fácil de reparar que un sistema menos observable. Más específicamente, la observabilidad concuerda directamente con los objetivos de Agile/DevOps/SRE de entregar software de mayor calidad y más rápido, al permitir a las organizaciones:
Desde sus flujos de trabajo de negocio hasta sus operaciones de TI, le ayudamos con la automatización basada en IA.
Descubra la plataforma más destacada de observabilidad empresarial para clouds híbridos.
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.