Tiempo de lectura: 3 minutos

El pasado mes de octubre estuvimos en la Software Crafters Barcelona, ¡y de forma presencial! 🥳

Teníamos muchas ganas de un evento así. Habíamos echado de menos compartir unas cervezas con compañeras y compañeros y tener esas conversaciones de pasillo (las mejores conversaciones) que nos llevan a temas de lo más interesantes. La verdad es que no defraudó y pasamos un fin de semana genial.

Esta vez teníamos ganas de hablar de observabilidad. En Voxel es algo que hemos intentado ir trabajando e introduciendo en nuestro día a día y creemos que ninguna organización debería descuidar un tema tan importante.

La charla la llamamos «Entiende tus sistemas con OpenTelemetry» y la dividimos en 5 partes:

Necesidad

Explicamos cómo en Voxel surgió la necesidad de cambiar la forma de entender nuestros sistemas a raíz de una creciente dificultad en la resolución de incidencias. Mencionamos, por ejemplo, que teníamos información dispar en logs no estructurados, los cuales a su vez estaban en servidores que no siempre eran de fácil acceso. Eso en el favorable caso de que existiesen esos logs, claro.

Observabilidad

La observabilidad es un concepto que se ha ido mencionando mucho estos últimos años, pero según dónde mires la definición va cambiando. Por lo general, el denominador común es la idea de que es algo que facilita entender nuestros sistemas. ¿Pero cómo?

Con el tiempo se ha ido popularizando y asentando la idea de que para tener observabilidad necesitamos tres grandes pilares: logs, trazas y métricas. Nosotras no queremos reforzar la creencia de que existe una receta mágica de tres ingredientes concretos; con estos “pilares” no construimos la casa final de la observabilidad y, como bien dice Charity Majors, esta idea puede ser un obstáculo en el progreso de herramientas concebidas para ello. Ben Sigelman también lo argumenta en Three Pillars, Zero Answers: We Need to Rethink Observability.Asimismo, hablaremos un poco sobre esto en nuestro futuro artículo sobre observabilidad (coming soon!).

Experiencia

Presentamos los primeros pasitos que hemos ido dando en Voxel para entender nuestros sistemas.

Dentro del proceso de transformación tecnológica, hemos ido introduciendo logs centralizados y estructurados, haciéndolos más accesibles y nos permite realizar consultas fácilmente; canonical logging, que nos facilita usar métricas «RED» (Request Rate, Request Error y Request Duration); y logs correlacionados, que permiten realizar un seguimiento entre servicios. Mencionamos también la creación y configuración de alarmas y paneles de visualización para la monitorización.
Como sabemos ahora, esto solo no es observabilidad y hacemos hincapié en el camino que nos queda por recorrer.

OpenTelemetry

¿Cómo empezamos a construir este camino hacia la observabilidad desde nuestras aplicaciones? Todas tenemos maneras de pensar diferente, trabajamos con tecnologías diferentes… Es difícil pensar en una herramienta que sirva para todo el mundo, pero es que ya lo es pensar en una estrategia que sea consistente.

En esta sección presentamos el proyecto open-source OpenTelemetry como una opción para estandarizar el proceso de instrumentación, generación, recolección y exportación de datos de nuestros sistemas.

Demo

Talk is cheap. Show me the code!
Aquí enseñamos cómo usamos OpenTelemetry en proyectos .NET junto con las herramientas Jaeger, Loki y Grafana.

La demo se basa en una web de gestión de usuarios con acceso a una base de datos PostgreSQL. En la creación de usuarios se emite un evento a una cola de Azure Service Bus, consumida por un Generic Host worker que a su vez enviaría un email informando de que el usuario se ha creado.

Conclusiones

Cerramos destacando las facilidades que nos proporciona OpenTelemetry y animando a la gente a que reflexione sobre el valor de la observabilidad.

Entender nuestros sistemas no es algo que interese exclusivamente a los perfiles técnicos. Observabilidad es ownership, y eso nos capacita y nos facilita tomar decisiones en todos los niveles de la organización.

Nosotras hemos iniciado el camino y seguiremos construyendo, ¡os animamos a que lo hagáis también! 

Sobre los autores

Xavier Belloso, Software Engineer en Voxel. Linkedin. Twitter.
Carolina Zhou, Software Engineer en Voxel. Linkedin. Twitter.

 

 

 

 

 

 

 

 

Leave a Reply