Pilares de la observabilidad:
muy buen resúmen!
Excelente aporte! 😁👍
Los 10 principios de observabilidad
La curaduría y la participación son igualmente importantes en una plataforma de observabilidad moderna. La curación brinda a los equipos una ventaja crítica de productividad y eficiencia: cuanto más pequeño es el pajar, más fácil es encontrar la aguja. (Los clientes de New Relic pueden reconocer nuestra detección de anomalías de rastreo distribuido o el explorador de clústeres de Kubernetes como ejemplos de cómo la curación ayuda a lograr la observabilidad).
La participación, por otro lado, otorga una gran importancia a la versatilidad: capturar y manipular datos de manera valiosa, incluso cuando la plataforma no sabe cómo dar forma o presentar esos datos. La participación también se basa en la programabilidad: dar a los usuarios las herramientas, y especialmente las API, para ayudarlos a ayudarse a sí mismos.
Cuando se trata de monitoreo y observabilidad de aplicaciones, los usuarios avanzados tienden a tener trabajos muy difíciles y exigentes; muchos de ellos, por ejemplo, viven prácticamente en sus entornos de desarrollo integrado (IDE). Estos usuarios quieren automatizar todo, y son los que más se beneficiarán de una plataforma de observabilidad programable y extensible. La plataforma New Relic, por ejemplo, aborda este objetivo a través de API que permiten a los usuarios avanzados consumir datos (como la creación de métricas personalizadas), además de inyectar datos para que la plataforma New Relic los use.
La lección que aprendimos de estos clientes es fuerte y clara: una plataforma de observabilidad es más valiosa cuando se centra en medir el rendimiento de las aplicaciones y en superar los obstáculos entre el rendimiento de las aplicaciones.
Abrazar el cambio El ritmo del cambio en el espacio de observabilidad es impresionante, y las soluciones de observabilidad deben tomar decisiones difíciles sobre las capacidades y prioridades. Los planes y características que tenían sentido hace seis meses pueden ya no ser relevantes, y aunque las hojas de ruta de los productos siguen siendo importantes, las soluciones de observabilidad deben adaptarse fácilmente a las realidades de la innovación tecnológica en rápido movimiento.
Transparencia total A veces, la observabilidad requiere una visión completa y de alto nivel del rendimiento de las aplicaciones. Otras veces, se trata de profundizar en detalles muy granulares, sin sorpresas y con un contexto completo.
Una buena plataforma de observabilidad ofrece ambas capacidades. También proporciona una ruta consistente, intuitiva y transparente para moverse entre vistas de alto nivel y de nivel inferior.
Por ejemplo, supongamos que está viendo una vista resumida del rendimiento en un gráfico de series temporales. Notas un aumento en los errores y quieres saber más sobre lo que está sucediendo. Debería poder profundizar desde esa vista de resumen en los datos subyacentes, tal vez para ver excepciones no controladas, o incluso para ver el marco de pila o las líneas de código que introdujeron el error.
Igual de importante, tal vista debe mostrar las métricas útiles que espera ver, junto con el contexto requerido para comprender lo que realmente está sucediendo. Este tipo de transparencia es especialmente importante en situaciones de alto estrés y alta urgencia donde los equipos de desarrollo y operaciones quieren centrarse en solucionar el problema, no en encontrarlo.
No te pierdas: Complejidad en contexto: microservicios y seguimiento distribuido [Video]
Aquí en New Relic, por ejemplo, nuestra organización de ingeniería incluye más de 60 equipos de desarrollo. En un entorno así, es casi imposible para cualquiera tener una comprensión verdaderamente actualizada y completa de lo que hace cada equipo y de cómo progresan sus proyectos. Y las organizaciones de desarrollo empresarial más grandes son órdenes de magnitud más grandes que las nuestras.
Todo esto demuestra por qué una plataforma de observabilidad moderna tiene que proporcionar suficiente información para que quien esté de guardia, no solo un héroe de soporte mítico que lo sabe todo y lo ve todo, encuentre y solucione el problema.
Esta es la razón por la que una plataforma de observabilidad debe actualizarse constantemente para hacer que más elementos, por ejemplo, nuevos agentes de usuario y nuevas métricas, sean rastreables desde el primer momento. Y el desarrollador de la plataforma debe esforzarse por hacer que su experiencia lista para usar sea lo más intuitiva posible, sabiendo que muchos clientes, para bien o para mal, experimentarán primero la plataforma mientras la usan para resolver un incidente.
Los problemas de rendimiento, sin embargo, no siempre son lo suficientemente educados como para detenerse donde las soluciones puntuales pueden encontrarlos. Muchos problemas de frontend, por ejemplo, se originan profundamente en la pila de aplicaciones o incluso dentro de problemas de infraestructura. Y a medida que las aplicaciones y la infraestructura continúan volviéndose más complejas, la necesidad de una plataforma de observabilidad de pila completa será aún más importante.
Pero moverse rápido no se trata solo de ir rápido; también se trata de precisión, fiabilidad y capacidad de respuesta.
Claro, es esencial minimizar el "tiempo hasta el cristal", la brecha crítica entre el momento en que ocurre un evento y el momento en que una plataforma emite una alerta. Dentro de este proceso, sin embargo, hay muchas partes móviles involucradas, desde detectar un problema hasta alertar a los miembros correctos del equipo y proporcionar información procesable, todo lo cual debe unirse y funcionar en este momento.
Es por eso que es especialmente importante, pero a menudo bastante desafiante, que una plataforma de observabilidad entregue alertas relevantes y específicas. También es importante que los proveedores respondan con prontitud cuando los clientes tengan preguntas o inquietudes sobre estas capacidades críticas.
El objetivo de New Relic es permitir que los clientes se muevan más rápidamente y con mayor agilidad, incluso a medida que aprendemos más sobre las necesidades y prioridades comerciales de nuestros clientes. Y creemos que todos estos son objetivos que valen la pena para cualquier plataforma de observabilidad moderna.
Te invito a colocarlo como articulo/tutorial, está muy bueno
Open Instrumentation: Recolectar información que nos ayude a medir el rendimiento. Connected Etities: Todos los datos colectados se conectan de forma organizada, identificando relaciones con otros componentes y el negocio. Correlation & context: Identificar casos únicos del negocio con la información colectada y organizada en los pasos anteriores para priorizar servicios o errores.
Excelente aporte, gracias..
Me gustaría expresar de cara al Platzi team; que este curso hasta este punto me parece brutal, está muy bien explicado y con los quizes queda muy claro todo
Concuerdo totalmente! Está realmente bueno este curso ;D
Full Stack Observability
. Al mencionar Full Stack Observability, significa que se proveen diferenciadores entre diferentes equipos de desarrollo, DevOps, líderes de negocio, etc., medibles y aplicables según sea la dependencia. . Las arquitecturas modernas, requieren de un nuevo enfoque de observability donde se tiene un alto impacto en los equipos de software. Las tendencias actuales son: .
Presión a la innovación rápida
Refiriéndose a la presión con la que se entregan nuevas características y experiencias a un mercado rápido de competición.
Altas expectativas del cliente
Los clientes esperan más con menor tolerancia a errores dejando que MTTD y MTTR sea evaluado para un mínimo tiempo acción. .
El surgimiento de la automatización
Habiendo cada cierto tiempo, nuevas apariciones de herramientas y tecnologías. .
La automatización es un sinónimo de “Todo es software y por tanto, repetible y programable”.
. De lo anterior, se cuenta con grandes retos que son conducidos por Full Stack Observability. .
Grandes complejidades
Ya que una aplicación monolítica puede ser dividida en una docena de microservicios, los equipos encaran una complejidad de escala, dejando la responsabilidad al conocimiento de algunos que heredan. .
Altos riesgos
Una frecuencia de despliegue y una infraestructura dinámica, introduce un mayor índice de riesgos lo que significa en un monitoreo y mantenimiento en procesos de despliegue (mediante herramientas o pipelines especializados) .
Deudas técnicas
Con el auge de contenedores y microservicios, los equipos de desarrollo encaran retos relacionados al diseño, construcción y despliegue de aplicaciones, donde cada integrante debe entender y poder solucionar secciones que nos son del todo familiares en un proceso tradicional de desarrollo. .
Cantidad de herramientas
Habiendo entornos híbridos, nuevas formas de despliegue y múltiples requerimientos a solucionar día con día, deja como resultado un alto volumen de telemetría de información por operar, cambiando entre contextos e intentando ser precisos y eficiente en el acto en sí. . Para lograr un Full Stack Observability en nuestros sistemas, debemos tener claro 3 elementos core: .
What is observability and why does it matter?
. La observability es una medida que define el estado actual de los sistemas. . Se puede decir que el core de la observability es MELT: .
. Al mencionar Monitory, tendemos a conceptualizar una diferencia entre observability. La realidad es de que el monitorear, parte de la observabilidad como la acción clave de registrar. .
Monitorear menciona "El qué sucede" y la observabilidad "El por qué sucede".
. El hecho actual es de que con la creciente adopción y descubrimiento de nuevas tecnologías, la observabilidad nos otorga una flexibilidad de exploración de incertidumbres tecnológicas. .
Tendencia y contexto actual
. Los sistemas modernos se transforman rápidamente en contextos complejos que progresivamente se distorsiona el medio con el cual se pueden probar. . Antes, las soluciones de software se presentaban detalles del modo y mecanismo para probarlas y saber con certeza, el origen y el efecto con el que presentaban fallas. .
Construir "mejor" software, mediante prácticas de desarrollo moderno no es la única solución.
. Nada es perfecto y la aparición de bugs, infraestructura caída o errores en comportamiento final con el usuario, sucederán inevitablemente. Dejando a los desarrolladores, crear software que sea más fácil de probar y arreglar, donde progresivamente se deja, en el aire, ambigüedades e incertidumbres para liberar características o soluciones. .
Los 4 componentes fundamentales de la observability
.
Open Instrumentation
Establecer telemetría para permitir la visibilidad de todas las superficies de aplicaciones críticas y de infraestructura (crítica por el uso con el usuario u otros sistemas). .
Correlation and context
La información recolectada debe ser analizada y conectada mediante "Metadata" para permitir la correlación entre diferentes partes del sistema(s). .
Programmability
Incorporar premisas y soluciones antes ciertos tópicos para proveer flexibilidad al crear contextos y objetivos de negocio. .
AIOps (Artificial Intelligence for IT Operations)
Proveer de herramientas que permitan priorizar incidentes y agregar alertas para la pronta detección de problemas y acelerar MTTR. .
Acá una imagen de como lo he resumido:
Que buena imagen! 👍
super util
Los 3 pilares de la observabilidad
Instrumentación abierta
La recolección de telemetría disponible para centralizarla en el mismo lugar.
La instrumentación se refiere a la medición mediante instrumentos, tener la habilidad de monitorear rendimiento, utilizando diferentes herramientas según lo que se quiere medir.
A partir de lo anterior, entonces la instrumentación abierta, es tomar los resultados de medición de distintas herramientas para tenerlos en un mismo lugar aunque midan cosas distintas.
Entidades conectadas
Los resultados de las instrumentaciones, se conectan organizadamente para poder comprender las relaciones entre las entidades del sistema, de manera visual.
Para poder tener entidades conectadas es necesario:
Correlación y contexto
En este punto entra el modelo de negocio, ya que los datos organizados ahora se orientaran a métricas y objetivos de negocio, esto es el valor de la observabilidad.
No es útil conceptualizar la relación entre monitoreo y observabilidad como “monitoreo versus observabilidad”. El monitoreo es un subconjunto de la observabilidad y es una acción clave para la observabilidad. Aquí hay un poco más sobre su distinción y relación:
El seguimiento (un verbo) está orientado a los síntomas. Te dice que algo anda mal. La observabilidad (un sustantivo) es una propiedad de su enfoque que le permite preguntar por qué. El monitoreo se basa en saber de antemano qué señales desea monitorear (estas son sus "incógnitas conocidas").
Pero en los complejos sistemas distribuidos de hoy en día basados en cientos, si no miles, de microservicios, se vuelve imposible predecir todos los modos de falla. La observabilidad le brinda la flexibilidad de profundizar en "incógnitas desconocidas" sobre la marcha.
Los links porfa profe
Hola están debajo del video
Del articulo: ¿Qué es Obervabilidad? (What is Obervability)
Resumen (TL,DR)
La observabiilidad otorga una visión proactiva para resolver problemas (troubleshooting) y optimizar de sistemas de software de forma efectiva. Esta ofrece una perspectiva interconectada y en tiempo real sobre todos los datos operacionales dentro de un sistema de software, permitiendo así responder preguntas al momento sobre las aplicaciones y la infraestructura
En una era de sistemas complejos desarrollados por equipos distribuidos, la observabilidad es esencial. Esta va más allá del monitoreo tradicional al permitir a los equipos de ingenieria entender no solamente qué está mal, sino por qué está mal.
La observabilidad incluye: instrumentación abierta, correlación, análisis del contexto, programabilidad y herramientas AIOps para entender la telemetría de los datos.
Las herramientas de observabilidad incrementan la experiencia de usuario, reducen el tiempo de espera, mejoran la eficiencia de equipos, y promueven una cultura de inovación entre todos los equipos.
What is Observability? | New Relic
Me encanta la frase :
Construir “mejor” software, mediante prácticas de desarrollo moderno no es la única solución.
Sino mides lo que haces , como sabes que estas mejorando?
instrumentación ABIERTA(Open Instrumentation): recolectar datos Endidades Conenctadas(Connected Entites): Organizar datos recolectados para analizar y ver el sistema y sus entidades. Correlación y contexto: tablas personalizadas con información sobre preguntas seguimiento de objetivos
no entiendo lo de Tool Sprouls ¿cómo puedo reducir herramientas en el monitoreo ¿qué es centralizar las herramientas, es usarlas al mismo tiempo en lugar de una a la vez. No entiendo cuando dice que no importa si ya usaba una herramienta la puedo seguir usando.