No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
3 Hrs
8 Min
6 Seg

Los 3 pilares de la observabilidad

8/15
Recursos

El acrónimo MELT se utiliza para definir cuatro tipos de datos esenciales: métricas, eventos, registros y seguimientos.

Tendencia y contexto actual de lo sistemas de software

Los sistemas modernos se transforman rápidamente día a día, dentro de contextos complejos que, progresivamente, se distorsiona el medio con el cual se pueden probar e interactuar.

Antes, las soluciones de software se presentaban, con detalles del modo y mecanismo para probarlas, y con la certeza del origen y efecto con el que se presentaban fallas.

Construir “mejor” software, mediante prácticas de desarrollo moderno no es la única solución.

Nada es perfecto, aparecen nuevos defectos, la infraestructura esta caída o desactualizada, con errores que afectan al comportamiento final con el usuario, dejando la responsabilidad a los desarrolladores con crear software que sea más fácil de probar y arreglar, dejando ambigüedades e incertidumbres para liberar características o soluciones, urgentes para encarar un mercado altamente competitivo.

Los componentes fundamentales de la observability

Dentro de una alta dependecia y responsabilidad a la individualidad de desarrollo, podemos generar una observabilidad mediante 4 componentes que pueden ser especializados individualmente o en conjunto.

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).

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:

Saber que dato se obtuvo y de donde se obtuvo Conocer el significado y contexto de grandes cantidades de datos

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.

Con la creciente adopción y descubrimiento de nuevas tecnologías: ¿La observabilidad nos permitirá la flexibilidad de exploración de incertidimbres al momento de apostar por una nueva solución u opción de software?

Contribución creada por: Emmanuel Rodríguez, con aportes de Leandro Espino Espino.

Aportes 13

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Pilares de la observabilidad:

  1. Instrumentación abierta (0:29): Recolectamos datos
  2. Entidades conectadas (3:36): Organizar los datos recolectados en el punto anterior, para entender y visualizar el sistema y sus entidades
  3. Correlación y contexto (5:04): Tablas personalizadas orientadas a responder preguntas y seguimiento de objetivos especificos a nuestro negocio

Los 10 principios de observabilidad

  1. Curaduría vs. participación
    Una plataforma de observabilidad moderna sobresale en la curación: reduce la complejidad al tamaño y selecciona y presenta información relevante para los usuarios. Pero una plataforma de este tipo también debe admitir la participación, por ejemplo, facilitando a los usuarios el trabajo con métricas y fuentes de datos personalizadas.

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.

  1. Apoya a los usuarios avanzados
    Los usuarios avanzados son un segmento importante de la base de usuarios de cualquier producto. Estos son los usuarios con más probabilidades de acceder, y apreciar, las capacidades más profundas que diferencian a un producto de sus competidores. Y los usuarios avanzados son a menudo los campeones más respetados y efectivos de un producto.

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.

  1. Regla de aplicaciones
    Cuando hablamos con los clientes de New Relic, muchos de ellos entregan un mensaje similar: “Lo que nos importa es si nuestra aplicación es saludable o no”. Y cuando una aplicación experimenta problemas, los clientes quieren identificar la fuente del problema de la manera más rápida y precisa posible.

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.

  1. 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.

  2. 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]

  1. Nadie lo sabe todo
    La observabilidad no es como una película de Hollywood: los días de aplicaciones monolíticas que una sola persona podía entender completamente, desde la sopa hasta las nueces, se han ido. No hay un genio heroico montado en un caballo blanco para salvar el día cuando tienes cientos o incluso miles de variables para observar. En entornos complejos y modernos, incluso los mejores ingenieros de guardia pueden entender una parte de la imagen completa, pero es poco probable que tengan una visión completa de todo lo que necesitan rastrear.

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.

  1. Fácil de comenzar
    El tiempo de obtención de valor es especialmente importante en una plataforma de observabilidad, en la que los equipos confían para resolver sus problemas de aplicaciones más urgentes y costosos. Pero comenzar rápidamente fuera de la caja no siempre es fácil, especialmente a medida que las plataformas de observabilidad adquieren cada vez más fuentes de datos y cubren más casos de uso.

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.

  1. Se trata de la plataforma
    Una plataforma de observabilidad moderna debe adoptar un enfoque completo de extremo a extremo. Claro, hay muchas soluciones de puntos de observabilidad perfectamente competentes. Y están bien para resolver muchos tipos de problemas: una solución de punto de monitoreo frontend, por ejemplo, puede identificar problemas de JavaScript que pueden crear importantes cuellos de botella en el rendimiento.

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.

  1. “Rápido” es una característica
    Para una plataforma de observabilidad moderna, es sumamente importante obtener la información correcta rápidamente para las personas que más la necesitan. Lograr este objetivo puede marcar la diferencia entre resolver un problema antes de que afecte a los clientes; o detectar el problema demasiado tarde y potencialmente perder miles, o incluso millones, de dólares en ingresos, sin mencionar el posible daño a la imagen de marca de una empresa y las relaciones con los clientes.

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.

  1. Abierto por diseño
    Los sistemas y estándares abiertos, como el recientemente anunciado proyecto OpenTelemetry, se están volviendo cada vez más centrales a medida que las empresas modernas trabajan para administrar la complejidad, reducir la fricción y evitar el bloqueo de proveedores. New Relic, por ejemplo, está totalmente invertido en brindar soporte a nuestros clientes openTracing, OpenCensus y OpenTelemetry, lo que permite a los usuarios acceder y visualizar todos sus datos de telemetría correlacionados, incluidas las métricas personalizadas, a través del rastreo distribuido de New Relic y la plataforma New Relic One.

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.

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.

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

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.
.

<h5>El surgimiento de la automatización</h5>

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:
.

  1. Único recurso de verdad
    Sin importante de la capa, recolectar toda la información en un único recurso o destino permitirá aplicar instrumentación donde se necesite mayor visibilidad.
    .
  2. Contexto de conexión y de trabajo
    Emprender con el concepto MELT (Metrics-Events-Logs-Traces)
    1. Métricas - Instrumentación de telemetría que entrega medidas
    2. Eventos - Registros detallados de puntos significantes de análisis
    3. Logs - Registros de todo los que sucede en el sistema
    4. Traces - Son huellas de llamados específicos de registros temporales en el sistema.
      .
  3. Exploración y almacenamiento de datos
    Al recolectar y unificar la información, permite reducir la deuda técnica entre el uso de múltiples herramientas.

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:
.

  • Metrics - Instrumentación de telemetría que entrega medidas.
  • Events - Registros detallados de puntos significantes de análisis.
  • Logs - Registros de todo los que sucede en el sistema
  • Traces - Son huellas de llamados específicos de registros temporales en el sistema.

.
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

.

<h5>Open Instrumentation</h5>

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).
.

<h5>Correlation and context</h5>

La información recolectada debe ser analizada y conectada mediante “Metadata” para permitir la correlación entre diferentes partes del sistema(s).
.

<h5>Programmability</h5>

Incorporar premisas y soluciones antes ciertos tópicos para proveer flexibilidad al crear contextos y objetivos de negocio.
.

<h5>AIOps (Artificial Intelligence for IT Operations)</h5>

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:

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:

  • Saber que dato se obtuvo y de donde se obtuvo
  • Conocer el significado y contexto de grandes cantidades de datos

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.

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](https://newrelic.com/blog/best-practices/what-is-observability)

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.