Más y más aplicaciones, con más y más microservicios y back-ends, implementadas en más y más nubes, generando más y más registros: esto es con lo que los desarrolladores tienen que lidiar todos los días, y hace que la observabilidad sea cada vez más difícil.
Si cree que monitorear y depurar aplicaciones en esta configuración es difícil, tiene razón. Pero luego, por supuesto, tenemos la observabilidad, que no es monitorear, pero todos están de acuerdo en que es importante.
¿Confundido todavía?
Abundan las definiciones de observabilidad. Una simple es «la capacidad de medir el estado actual de un sistema en función de los datos que genera, como registros, métricas y seguimientos».
Fluentd y Fluent Bit son proyectos de código abierto ampliamente utilizados bajo los auspicios de CNCF, que se centran en la parte de registros de la ecuación. Trabajan en conjunto para recopilar y procesar, respectivamente, la información almacenada en los registros de aplicaciones y servicios.
Combinados, Fluentd y Fluent Bit tienen más de 30 000 estrellas de GitHub, 2 millones de implementaciones por día y 1300 colaboradores activos. Se han implementado más de mil millones de veces y están integrados en tecnologías estándar de la industria, como Kubernetes y Red Hat OpenShift.
Hoy, el mantenedor de Fluentd y Fluent Bit, Eduardo Silva, y el exgerente de producto, Anurag Gupta, anuncian el lanzamiento de Calyptia, una compañía formada para comercializar Fluent Bit, así como una ronda semilla de $5 millones liderada por Sierra Ventures y Carbide Ventures.
Nos reunimos con Gupta y Silva para hablar sobre la oferta de Calyptia y su posicionamiento en el panorama de la observabilidad.
Contextualización de registros
Como señala Cindy Sridharan, autora de «Distributed Systems Observability», los registros, las métricas y las trazas se conocen a menudo como los tres pilares de la observabilidad. Si bien tener acceso a registros, métricas y seguimientos no necesariamente hace que los sistemas sean más observables, estas son herramientas poderosas que, si se entienden bien, pueden desbloquear la capacidad de construir mejores sistemas.
Fluentd es un recopilador de datos de código abierto para la capa de registro unificado, que permite a los usuarios unificar la recopilación y el consumo de datos para un mejor uso y comprensión de los datos. Fluent Bit es un procesador y reenviador de registro y métricas de código abierto, y es en lo que se basa la oferta de Calyptia.
Como dice Silva, Fluentd y Fluent Bit son «primos» de proyectos como Jaeger y Zipkin, que se centran en las huellas. Los registros, agrega Silva, son un mecanismo bien conocido para permitir algún tipo de visibilidad de lo que hace una aplicación.
Cuando llega el momento de analizar cómo se comporta una aplicación, el primer lugar para buscar son los registros de la aplicación. Pero en una configuración de sistema distribuido, como Kubernetes, eso no es trivial.
«Tienes un puñado de aplicaciones y quieres realizar un análisis de datos para ver cómo se comportan las aplicaciones. Quieres echar un vistazo a los registros, pero para resolver eso, no puedes ir a cada una de las aplicaciones , cada uno de los archivos, y mira lo que está haciendo esta aplicación. Necesitas tener una herramienta especializada», dice Silva.
«Entonces, Fluentd y Fluent Bit son esta herramienta especializada que puede recopilar esta información de registro, procesarla y centralizarla en uno o varios puntos finales para su análisis», agrega Silva.
La observabilidad tiene que ver con registros, métricas y seguimientos. First-Mile Observability se trata de comenzar donde los datos se generan, contextualizan, procesan y enrutan, según Calyptia Getty Images/iStockphoto
El poder del combo proviene del hecho de que no solo recopila y reenvía datos almacenados en registros, sino que también aplica lógica de transformación y análisis, explicó Gupta. Esto se puede hacer usando cosas como secuencias de comandos de Lua o agregando pares de valores clave específicos en el espacio de Kubernetes.
Lo que Fluent Bit y Fluentd han estado haciendo durante los últimos diez y cinco años, respectivamente, es agregar la capacidad de comunicarse con las API dentro de Kubernetes y acceder a todos esos datos. Esto ayuda a contextualizar los datos en los registros y hacerlos más significativos, por lo que el diagnóstico y la depuración se vuelven más rápidos y fáciles.
Una ventaja clave de trabajar con Fluentd y Fluent Bit es la capacidad de trabajar con múltiples back-ends, señala Gupta. Las herramientas son independientes del proveedor cuando se trata de back-end, por lo que los datos se pueden enrutar donde sea necesario, independientemente de lo que sean o cuántos haya.
Aunque los back-end están proliferando, Fluentd y Fluent Bit se mantendrán al día, agrega Gupta.
Observabilidad de primera milla
Gupta y Silva, ambos con una larga experiencia en ingeniería de sistemas de software y períodos en Microsoft y Oracle, respectivamente, se conocieron en 2017. Trabajaron en estrecha colaboración en Fluentd y, con el paso del tiempo, vieron la dinámica y decidieron fundar Calyptia para ofrecer servicios comerciales a su alrededor en 2020.
Calyptia Cloud es una parte clave de la oferta de Calyptia Enterprise e incluye dos cosas: una capa de administración y monitoreo, y herramientas para desarrolladores. Las herramientas para desarrolladores están dirigidas a personas que solo quieren usar la capa de código abierto, y las herramientas pueden ayudarlos a descubrir aspectos clave, como expresiones regulares o si las cosas funcionan correctamente o no, dice Gupta.
La oferta de administración y monitoreo agrega toda la información que Fluentd y Fluent Bit tienen en la capa de borde, la contextualiza y la visualiza. Esto puede ayudar a responder preguntas como: ¿A dónde se enrutan los datos? ¿Cuántos datos se enrutan a qué direcciones IP? ¿Por qué los datos eligieron una ruta específica? ¿Por qué se envió este volumen de datos?
El objetivo es también poder tener análisis predictivos. En este caso, esto significa poder sacar a la superficie esos conocimientos antes de que los datos lleguen a ese back-end y luego se les facture, como dice Gupta. En cuanto al propio back-end de Calyptia Cloud, el servicio también es agnóstico, ya que puede operar con cualquier cosa, desde New Relic y Splunk hasta el almacenamiento de objetos de Amazon y Google o PostgreSQL.
La observabilidad puede verse como un viaje, según Gupta. Las personas pueden comenzar con un monitoreo simple, luego evolucionar y comenzar a agregar más fuentes de datos. El viaje comienza en el lugar donde se crean los datos y continúa hacia el lugar donde ocurre la depuración, el diagnóstico y la obtención de información.
Calyptia ve el lugar donde se generan, contextualizan, procesan y enrutan los datos como la primera milla de ese viaje. Aquí, dice Gupta, es donde Fluentd y Fluent Bit han estado operando, y esto es también a lo que apunta Calyptia.
Silva, por su parte, describe la observabilidad como un continuo, con Calyptia abordando el extremo del espectro de recopilación y preprocesamiento de datos y herramientas, como Grafana, abordando el extremo de visualización. Calyptia trabaja codo con codo y se integra con todos ellos, añade.
Puede que sea así, pero parece que al menos existe cierta superposición.
Gupta y Silva pasaron mucho tiempo en llamadas con personas como AWS, Google Cloud y Microsoft, así como empresas que buscaban resolver la observabilidad a escala y colaboradores de proyectos de código abierto. Esto ayudó a dar forma a su oferta. Fluentd y Fluent Bit se usan en lugares como Fidelity y Neiman Marcus, y no es improbable que Calyptia también tenga un pie en la puerta.
Además de Calyptia Cloud, Calyptia Enteprise puede autohospedarse en cualquier entorno. Calyptia ofrece un modelo de suscripción, así como servicios de consultoría y soporte. La empresa tiene como objetivo utilizar los fondos para aumentar su plantilla actual de 16 e invertir en el desarrollo continuo de su software.