DEV Community

Cover image for MELT: La observabilidad web
Emmanuel Rodríguez
Emmanuel Rodríguez

Posted on

MELT: La observabilidad web

Concepto clave
La Observabilidad describe a aquello de lo que se puede entender y ocurrir dentro de un sistema, utilizando el marco tecnológico METL.

Antecedentes

Saber el mejor rumbo para el desarrollo de una aplicación, es un tema de conversación para cualquier emprendimiento de un proyecto, inclusive, cuando se ha finalizado un MVP (Producto Mínimo Viable).

Antes, al proceso de soporte y mejoramiento del producto, era responsabilidad de una persona llamada Web master, ahora Full Stack.

De la misma forma, los roles y culturas organizaciones han adoptado o modernizados sus prácticas tanto de desarrollo como de despliegue, llamándolas DevOps.

ℹ️ Definición
DevOps es conocido como cultura organizacional, área o rol de profesión, así como también un proceso moderno de integración y despliegue.

El nacimiento de esta vertiente de desarrollo de soluciones, surge por el hecho mismo de la automatización.

"Si el software nació para automatizar, entonces automaticemos nuestro proceso de desarrollo."

Identificación global

Si bien, DevOps es una corriente versátil que colabora en el proceso de desarrollo, no quita la existencia de varios puntos ciegos, es decir, la aparición de anomalías, defectos, fallos y errores.

ℹ️ Definición
Existen 4 grandes eventos ante una funcionalidad no esperada:
- Anomalía, la descripción de un comportamiento no esperado.
- Defecto, situación que se puede reproducir por su origen replicable.
- Fallo, incapacidad del sistema dentro de los márgenes conocidos.
- Error, acción humana que genera el desperfecto en el sistema.

Digamos por ejemplo:

Contamos con un despertador que todas las mañanas a las 9 AM suena su alarma, pero desde hace unos días ya no lo hace, eso es una anomalía, en caso de que hubiera llegado con una manecilla rota, seria defecto, si necesita luz para funcionar que, por una tormenta, se nos va la luz y ya no sirve, es fallo y por último si utilizas tu despertador para otro fin, es un error.

De lo anterior, la observabilidad nos responde y pone en contexto de nuestro sistema y saber, a mediano plazo, los siguientes pasos a desarrollar para mejorar su competitividad y/o uso.

Tendencia y contexto actual

Los sistemas modernos se transforman rápidamente día a día, dentro de contextos complejos que, progresivamente, se van distorsionando y mutando las formas de probar y de aislar sus casos de usos, características, etc.

Antes, las soluciones de software se presentaban con detalles, del modo y mecanismo para probarlas, teniendo la certeza del origen y efecto, cuando 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 y/o desactualizada, surgen errores que afectan al comportamiento final con el usuario; delegando 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 4 componentes fundamentales de la observability o MELT

Actualmente, con la integración de múltiples servicios y modernizando los equipos de desarrollo mediante la especialización individual, podemos generar una observabilidad a través de 4 componentes, integrándolos individualmente o en conjunto.

Concepto clave
Las métricas son medidas numéricas que pueden incluir un estado numérico, en un momento en el tiempo o agregaciones como promedios, totales, etc.

metric

Se tienen un conjunto de valores calculados, los cuales representan diferentes métricas que comparten nombre, tiempo y valor.

Deseamos rastrear tanto el valor total de la compra como el valor promedio de la compra.

Con ello, podemos realizar ciertas preguntas:
¿Cuáles fueron mis ventas durante un período de tiempo en específico?

Para este registro, hemos perdido algunos detalles, ya que no sabemos cuáles fueron las tres compras específicas, ni tenemos acceso a sus valores individuales.

Concepto clave
Un evento se puede definir como una acción discreta que sucede en un determinado momento.

event

Se tienen un conjunto un conjunto de eventos de compras, de los cuales se ha registrado la compra de diferentes productos con un determinado precio o valor.

Con ello, podemos realizar preguntas como:
¿De cuánto fue la ganancia por ventas?
¿Cuál fue la preferencia de pago?
¿Cuál fue el promedio de selección por producto?

Concepto clave
Los logs son un repositorio de datos que, en su forma más fundamental, son sólo líneas de texto que un sistema produce.

event

El caso de uso más común para los registros es obtener un resumen detallado, paso a paso, de lo que sucedió en un momento determinado.

log

A partir de esto, sabemos que se intentó y falló una compra donde podremos replicar el imprevisto, de manera específica.

Conclusión

Como leyó, con MELT es posible obtener un sistema observable que nos permite visualizar y analizar a lo largo de las diferentes capas de una aplicación.

Se dice que un sistema es llamado Full Stack Observable, cuando aplica MELT tanto al frontend como al backend, como al proceso de DevOps como el de infraestructura y, con ello, tener la certeza de aquellas anomalías, defectos, fallos y errores.

Por último, no olvide que existen herramientas que nos permiten adoptar METL sin complicaciones de instalación (Google Analytics, Hotjar, New Relic, invitando a utilizar cada una y aprender de ella como una extensión de su stack tecnológico.

Top comments (0)