Por qué sacarle provecho a la Observabilidad: entrevista con Arturo Ibañez

Cencommerce
8 min readDec 1, 2022

--

La Observabilidad es un tema muy importante para todos los negocios que actualmente trabajan con Big Data. Para Cencommerce también lo es, ya que Cencosud maneja una gran cantidad de banderas que abarcan toda Latinoamérica e incluso Estados Unidos. Para profundizar más en este tema, conversamos con Arturo Ibañez, Tech Lead de nuestro equipo de Observabilidad.

Arturo es un padre orgulloso, optimista, entusiasta, y con gran orientación a la solución de dificultades. Es fanático del automovilismo en general, de la Universidad de Chile y sobre todo de bicicletear al infinito y más allá. Es titulado de Ingeniero en Ejecución Informática, mención en Sistemas de Información, de la Universidad de las Américas, Santiago, Chile. Desarrollador y orquestador de Arquitecturas TI, inserto en la nube y encantado con los principios asociados a la cultura DevOps, gestor de bases de datos, administrador de una variedad de aplicaciones para distintos rubros, entre otras. Está particularmente interesado en soluciones que permitan la continuidad de la operación. También interesado en el Desarrollo de soluciones que impliquen distintos patrones de diseño de software.

Hola Arturo! Antes de empezar quisiera aclarar algunos conceptos ¿cuál es la definición de Observabilidad y en qué se diferencia de Monitoreo?

A ver, primero que todo, para hablar de Observabilidad y Monitoreo, es necesario tener claro qué significa cada uno. Monitoreo es una actividad que hace que los sistemas sean observables, a través de permitir que sean rastreables, además de dar a conocer los registros a los que están asociados. Está enfocado en el tema de las métricas performantes.

Por otro lado, la Observabilidad consiste en entender el universo que se está contemplando, para, en este caso: observar. Este observar abarca tanto lo que podría ser monitoreo, como además los componentes que son parte del ecosistema en general.

Esto a grosso término. La Observabilidad y el Monitoreo son necesarias, pero la Observabilidad comprende un campo más grande que el monitoreo. El monitoreo siempre va asociado a qué nos puede estar fallando, y sobre todo en el mundo TI, está muy vinculado a la performance, por ejemplo, a métricas funcionales.

Si lo traigo a términos aún más sencillos y concretos, entonces, monitoreo tiene que ver con métricas específicas que uno está constantemente mirando para ver la performance. Pero Observabilidad es algo más amplio ¿cierto? Métricas más amplias de lo que se esté observando.

Claro, o sea, tú con la observabilidad contemplas toda la telemetría asociada a todo ecosistema. En cambio, las métricas asociadas al monitoreo son métricas performantes, conocidas desde estos típicos conceptos de monitoreo, como la caja negra, performance de tiempos, pin, tiempos de respuesta, etc., es decir, cómo está performando el cómputo. Por otro lado la observabilidad está más enfocada hacia las decisiones que finalmente tienes que tomar para escalar o no, con tus componentes o tus servicios como tal.

En pocas palabras, reduciendo todo este bla bla, Observabilidad es más macro y monitoreo más micro, está más asociado a un aspecto en particular que tiene que ver con métricas performantes.

Y en este momento ¿nosotros qué tecnologías estamos usando para monitorear y hacer Observabilidad?

Mira, en el mundo TI existen diversos mecanismos para poder hacerlo. En cuanto a Observabilidad, no obstante, nuestro foco es explotar las capacidades con que contamos, como el descubrimiento de mejoras que tiene New Relic, que es nuestra herramienta principal.

Una de las principales ventajas de New Relic es que tú puedes trabajar con los registros y encontrar las necesidades adecuadas, observar cómo cada una de las soluciones que tú vas desplegando impactan en tu ecosistema, ya se sea un componente, una plataforma, un servicio, etc., que requiera Observabilidad. En general, con esa telemetría obtenible con New Relic, tú puedes trabajar generando dashboard o alerta, enviando notificaciones, tomando decisiones.

Tomando en cuenta las ventajas que nos otorga esta herramienta ¿qué aporta la Observabilidad en las distintas etapas del desarrollo?

La Observabilidad otorga visibilidad, primero que todo, transparencia, datos que tú puedes entender o que puedes transcribir, con la data puedes ayudar a conocer el comportamiento de los servicios, y además puedes tener capacidades como obtener métricas funcionales. Si puedes sacar el provecho que corresponde, puedes obtener datos no solamente asociados a monitoreo, puedes trabajar con esos datos y ayudar a alertar o discriminar, por ejemplo, escenarios que son críticos para la aplicación o para el negocio, sin necesariamente tener que presentar un escenario crítico de algún componente. Eso es lo genial que aporta la observabilidad.

¿Cómo nace el equipo de Observabilidad?

El equipo de Observabilidad nace el año 2021, con la intención, o la premisa, de cimentar los pilares, el camino necesario para que exista Observabilidad en Cencommerce. Lo primero que hicimos como estrategia fue entender las necesidades de los equipos, acompañarlos en el tema de la Observabilidad, entender cómo es la cultura de ellos y a la vez también enseñar qué es la cultura de la Observabilidad, involucrar a nuestros partners de New Relic, explicar sus distintas capacidades, etc. También, claro, presentamos escenarios donde tuvimos equipos que fueron más receptivos, y así escenarios donde equipos fueron más reacios. Sin embargo, esto nos ayudó para empezar a adoptar la Observabilidad y que los equipos entiendan la necesidad imperiosa de implementarla en sus desarrollos, no es una capacidad que ellos deben descartar, sino que al revés, tienen que inicia sus proyectos con Observabilidad. Fue un trabajo de acompañamiento con los equipos, para que entendieran que no es algo que debemos descartar, sino que todo lo contrario, algo que debemos incluir y debe ser parte de nuestra cultura como organización.

Recién hiciste un dos por uno (risas), me respondiste la pregunta que seguía, que era ¿Cómo aporta al resto de los equipos? (risas de ambos) Pero retomando igual, ya que hemos visto que a nivel técnico la Observabilidad es tan importante ¿cómo aporta al negocio? Pensando en aquellas personas que no están acostumbradas a preocuparse del aspecto técnico, y que, por ejemplo, son más del área comercial.

La forma en que aportamos como Observabilidad a Cencommerce es ayudando a que, primero que todo, los equipo utilicen las prácticas de Observabilidad, le saquen provecho a las distintas herramientas de New Relic para enviarse información, para obtener telemetría y trabajar con ella, crear sus paneles, y hacer consultas, claramente pensando en que esto es una información que sucede en el momento.

Por ejemplo, una de las capacidades de New Relic es que tiene su propia base de datos que tú puedes consultar, y teniendo esta información como tal, tú le puedes sacar provecho de distintas formas. Es necesario que los equipos le den la importancia, e impacten esa importancia en sus distintas implementaciones y que finalmente construyan paneles, trabajen con alertas, etc. No solamente nos conformemos con el trabajo de la alertas performantes, sino que creemos alertas sobre escenarios de afectación del negocio. Tengamos el conocimiento sobre eso.

También es super importante no solamente entender el estado de salud del servicio, donde puedes determinar si un servicio está bien o no, sino que también puedes jugar con la información que finalmente se envía, o jugar con toda la telemetría de New Relic y hacerla rendir: determinar el escenario no significa solamente los estados de salud, sino cómo está comportándose el servicio, cómo está performando a nivel de órdenes, pagos, etc., y con eso ayudar a determinar el comportamientos del negocio.

Entiendo que para el negocio una mejor telemetría y una detección más pronta de problemas, además de alertas y de soluciones más rápidas, implica al final un ahorro en gasto, y hacer que el negocio siga funcionando.

Exacto, sea anticipar estas situaciones o posibles escenarios críticos en las plataformas, te pueden ayudar no solamente a salvar lucas para el negocio, sino que de forma proactiva puedes ayudar a solucionar un problema como tal. Por ejemplo, a nivel performante, se puede escalar capacidades a nivel funcional, ver qué se puede hacer para que incremente el número de órdenes o de pagos, o sea, ver cómo se está comportando el servicio en general.

En ese sentido puede tener que ver con mejorar la performance antes de los eventos adversos ¿cierto? No ser reactivo, sino ser proactivos en la solución de distintos eventos adversos que puede tener el negocio en general…

Sí, de hecho, eso es complicado, el tema de proactividad y reactividad hay que aterrizarlo un poco. Yo creo que la mayoría de las veces vas a tener más notificaciones de escenarios reactivos que proactivos, pero si el equipo se da el tiempo de poder entender su telemetría, de poder entender cuáles son las métricas importantes para ellos, sacándonos de este mundo performante, como dije anteriormente, podemos también ayudar a obtener escenarios de forma proactiva.

Por ejemplo, tú podrías entender el comportamiento de las órdenes. Y si las órdenes tienden a bajar o tienden a cambiar su comportamiento, perfectamente podríamos estar hablando de un escenario donde hay algo que está pasando en el ecosistema. Eso es una de las cosas geniales que tiene la herramienta de New Relic, y por qué los equipos tienen que entender que la Observabilidad es tan fundamental. Es una pieza que tiene que estar desde el inicio del proyecto.

New Relic tiene particularidades como ser una herramienta que tiene muchas implementaciones que son Plug and Play, llegar, instrumentar y listo, pero también tiene una parte de descubrimiento. Nosotros como equipo de Observabilidad generamos el acompañamiento necesario para que los equipos hagan este trabajo. Pero también hay un trabajo por detrás, donde ellos tienen que investigar y entender completamente qué es lo que requieren y plasmarlo para que sea visible en New Relic. Trabajar con la información en tiempo real y entender antes de que pueda ocurrir algo, y así evitar escenarios que realmente desfavorezcan al negocio.

--

--

Cencommerce

En Cencommerce somos expertos en tecnología, y proyectamos esa pasión en nuestro trabajo y con nuestros clientes