Open source

Grafana cumple diez años

Cómo un proyecto apasionante de código abierto hizo que la observabilidad fuera abierta y componible para desarrolladores de todo el mundo.

open source

La observabilidad ha pasado de ser una plataforma especializada y una disciplina de ingeniería de fiabilidad de sitios a un mercado masivo en la era de "tú lo construyes, tú lo diriges". Diez años después de que Grafana comenzara su andadura en el mundo del código abierto, el proyecto ha puesto la observabilidad al alcance de una enorme audiencia de desarrolladores.

Grafana no podría haber llegado en mejor momento. Cuando su creador, Torkel Ödegaard, presentó por primera vez su proyecto de código abierto para visualizar el comportamiento y el rendimiento de los servicios hace diez años, las empresas todavía estaban en modo de puesta al día, tratando de encontrar métodos escalables para solucionar la proliferación de piezas móviles que las arquitecturas basadas en microservicios habían generado. Era el amanecer de una nueva era en la que, como declaró Werner Vogels, CTO de Amazon, en 2006: "Tú lo construyes, tú lo ejecutas".

¿Emocionante? Claro. ¿Complicado? Sí.

Después de todo, aunque la entrega continua y los microservicios estaban acelerando drásticamente la parte de "construcción" de esa ecuación, la parte de "ejecución" creaba todo tipo de preguntas complicadas sobre cómo solucionar problemas y mantener estos servicios en producción. La frase concisa de Vogels no dejaba traslucir lo complicado que era esto en la práctica, como ilustró en 2008 con su famoso diagrama de la "Estrella de la Muerte". Grafana surgió como una forma de resolver esta situación de Estrella de la Muerte, y ahora, diez años después de su evolución, parece que Grafana va a mejorar aún más.

 

El nacimiento de un nuevo proyecto de código abierto

Ödegaard era ingeniero y arquitecto en eBay Suecia durante aquellos tiempos embriagadores para los microservicios y la entrega continua. Sus esfuerzos por observar los sistemas en funcionamiento le llevaron a Graphite, la base de datos de series temporales por defecto antes de Prometheus. Tenía capacidades de gráficos y consultas integradas y sorprendentemente ricas. Al trabajar con herramientas como StatsD y otros marcos de métricas, Ödegaard se sorprendió de lo fácil que era enviar métricas a Graphite para representarlas gráficamente. Era un nuevo terreno de juego para supervisar eficazmente los servicios en entornos de escalabilidad horizontal.

"Me encantó ver cómo las aplicaciones y los servicios cobraban vida en tiempo real", afirma Ödegaard. "Poder visualizar el comportamiento y el rendimiento de los servicios, así como las métricas de comportamiento de los usuarios -y ver cómo se veían afectados en tiempo real y a lo largo del tiempo a medida que se desplegaban los cambios- fue realmente transformador para mí".

Pero, como suele ocurrir con los creadores de proyectos de código abierto, Ödegaard se topó con un muro. Graphite tenía un gran problema: la usabilidad. Crear consultas, gráficos y cuadros de mando era muy complejo. Otro problema: los gráficos no eran interactivos. No era posible, por ejemplo, marcar una región para ampliarla. Sin embargo, poco después, el equipo de eBay de Ödegaard empezó a utilizar Kibana, una nueva herramienta de código abierto para ver y buscar registros almacenados en Elasticsearch. Como él lo recuerda, Ödegaard dice que Kibana cambió el juego para la visualización centralizada de registro y análisis.

El rebote entre las capacidades y limitaciones de estas dos herramientas le inspiró: ¿Y si Kibana pudiera consultar Graphite y visualizar métricas de series temporales? Era una idea interesante, pero sin una solución fácil. Después de todo, Kibana estaba totalmente centrada en Elasticsearch como fuente de datos, y los responsables del proyecto no querían otras fuentes de datos, como Graphite.

Esta era toda la motivación que Ödegaard necesitaba para bifurcarlo y seguir su visión.

El 5 de diciembre de 2013, comenzó a modificar partes de Kibana, jugando con la visualización de gráficos, tratando de conseguir que visualizara los datos procedentes de una consulta Graphite. "Sinceramente, me perdí en el tiempo, ya que pasé días y semanas trabajando casi sin parar en este proyecto de pasión", dijo Ödegaard. "No recuerdo haber comido, bebido o dormido". Lanzó Grafana v1 en enero de 2014. Su interfaz de usuario limpia y atractiva, sus gráficos rápidos y ricos en funciones, la facilidad de edición y la interfaz de usuario del constructor de consultas, y la adición de variables de plantilla de cuadros de mando para hacerlos más genéricos y reutilizables se sumaron a algo que pensó que otros podrían querer.

Y así fue.

 

De Prometheus a todos los datos de infraestructura

Grafana fue un éxito instantáneo entre los desarrolladores y los equipos de desarrollo y plataformas que trabajan con datos de series temporales. Rápidamente se convirtió en el motor de visualización de facto para los datos de monitorización de Prometheus. Un gran comienzo, sin duda, pero la tecnología prometía mucho más. De hecho, la principal razón por la que despegó de forma tan espectacular fue su arquitectura abierta y su modelo de plug-in, que permitía a los desarrolladores conectar y visualizar fácilmente todos sus datos dispares sin estar limitados a una única fuente de datos o encerrados en una solución de observabilidad propietaria.

Ödegaard se refiere a esto como la filosofía de "gran tienda" de Grafana, y sigue guiando el proyecto hoy en día.

Esta decisión de hacer Grafana multi-fuente de datos invirtió el modelo de una industria de monitorización gobernada por actores propietarios que forzaban a los usuarios a llevar sus datos a una única solución. La comunidad de Grafana aprovechó ese modelo de plug-in para crear 150 plug-in de fuentes de datos que capturan casi todos los almacenes de datos populares, permitiendo a los usuarios consultar sus datos de infraestructura desde una única herramienta de código abierto e incorporando el lenguaje de consulta nativo de cada fuente de datos a la experiencia de Grafana.

Esta unificación de datos, junto con el énfasis en no obligar a los desarrolladores a aprender nuevos lenguajes de consulta, se tradujo en una ergonomía mucho más suave para los desarrolladores. Una forma de pensar en esto es en el contexto del "infierno de las pestañas", o el cambio de contexto que se produce cuando se buscan las causas raíz de los problemas en producción y hay que atravesar inicios de sesión en numerosas fuentes de datos y proveedores de monitorización. El enfoque de Grafana liberó a los desarrolladores de este infierno. La salvación nunca se sintió tan bien.

Es más, Grafana es cada vez más un estándar de la industria para unificar los "tres pilares" de la observabilidad: registros, rastros y métricas. A través de los años, Grafana ha introducido gradualmente back-end escalables para logs (Loki), trazas (Grafana Tempo) y métricas (Mimir), resultando en la pila "LGTM". En el proceso, Grafana ha liberado a los desarrolladores de tener que entender cómo levantar y escalar los back-end para estas fuentes de datos de observabilidad.

Para la mayoría de los problemas, realmente necesitas los tres tipos de telemetría para obtener una visibilidad completa. Por ejemplo, si sólo dispone de métricas y registros, es posible que sepa por qué va mal y qué ha fallado, pero si se trata de un problema de base de datos, seguirá necesitando trazas para ver dónde ha fallado. Al hacer posible consultar y correlacionar todos estos tipos de telemetría desde una vista, Grafana reduce aún más la sobrecarga cognitiva.

 

20 millones de usuarios después

En la actualidad, el mercado de la observabilidad va camino de alcanzar los 9.000 millones de dólares en 2025, según IDC. En el décimo aniversario de su creación, Grafana ha superado los 20 millones de usuarios en su comunidad de desarrolladores de todo el mundo. Hoy en día, los casos de uso de Grafana van mucho más allá de la monitorización de aplicaciones e infraestructuras. Sus capacidades de visualización y simplificación de la unificación de almacenes de datos dispares han puesto a Grafana en proyectos de estudiantes, videojuegos y, recientemente, en el centro de control de SpaceX.

Con la popularidad de Grafana, Grafana Labs, la empresa de Ödegaard y el principal patrocinador corporativo de Grafana, también se encontró en la envidiable posición de ser abordada por todos los hiperescaladores de la nube. Grafana Labs ha establecido sólidas relaciones con Azure, Tencent, Alibaba y Google, que cuentan con ofertas de Grafana a través de asociaciones oficiales. AWS fue en realidad el primero (sobre el que escribí mientras trabajaba para AWS), y Grafana le da a AWS mucho crédito por ello. Desde que establecieron la asociación con AWS hace unos años, la han ampliado para que los clientes de AWS ahora puedan obtener toda la Grafana Cloud LGTM Stack y más ejecutándose en su infraestructura, a través de AWS Marketplace.

"La idea de observabilidad ha explotado porque finalmente habla a un nivel que va más allá de la monitorización o el rendimiento de las aplicaciones", defendió Ödegaard. "Se trata de comprender el estado actual de las operaciones. Es un concepto unificador". Sin duda, en la GrafanaCon que se celebrará esta semana en Suecia, Ödegaard y su equipo desvelarán una serie de nuevas capacidades de Grafana 10 que seguirán elevando el nivel de la experiencia de los desarrolladores a la hora de visualizar datos de observabilidad. Es lo que Ödegaard y la creciente comunidad Grafana han estado haciendo desde hace una década sin signos de desaceleración.



TE PUEDE INTERESAR...

CASOS DE ÉXITO

Accede a nuestra publicación de canal

DealerWorld Digital

Documentos ComputerWorld

Documento Pure Storage y Kyndryl INFRAESTRUCTURAS