Por que reconstruimos nuestro gateway y nacio Bifrost: hace un a;o enrutábamos peticiones a LLM a traves de LiteLLM como la mayoria. Funcionaba bien a baja escala, pero al llegar al trafico de produccion, con 500 RPS, nuestro gateway se convirtio en cuello de botella. Las latencias p99 se dispararon por encima de 20 segundos y el uso de memoria crecia sin control. La sobrecarga del async en Python nos estaba costando rendimiento. Intentamos optimizar y aumentar hardware sin exito, asi que decidimos reescribir completamente el gateway en Go. El resultado es Bifrost, un proyecto de codigo abierto que prioriza latencia minima y uso eficiente de memoria.
Objetivo de diseno: añadir menos de 50 microsengundos de overhead a cada peticion LLM. Decisiones clave: modelo de goroutine por peticion para evitar la complejidad de async await y el coste de bucles de evento; reenrutado sin copias innecesarias para evitar serializaciones intermedias; y ejecucion asincrona de todo lo que no este en la ruta critica, como logs, metricas y plugins. Estas elecciones mantienen la ruta caliente lo mas ligera posible.
Patrones de rendimiento que aplicamos: reutilizacion de objetos para reducir presion del garbage collector mediante sync.Pool; canales con buffer para gestionar la retropresion y evitar explosion de goroutines en picos de carga; y propagacion de contexto en cada peticion para cancelacion y timeouts, garantizando que no queden procesos colgados. Estas practicas son criticas cuando se busca escalabilidad y estabilidad a alto RPS.
Dise;o del sistema de plugins: necesitamos extensibilidad sin penalizar el rendimiento. Los plugins siguen una interfaz sencilla con hooks antes y despues de procesar la peticion. Por defecto corren en la misma goroutine de la peticion para evitar overhead, y solo lanzan tareas asincronas propias cuando no deben bloquear la respuesta. Esto permite integrar logging avanzado, auditoria o transformaciones sin sacrificar latencia.
Balanceo de carga adaptativo: ajustar pesos dinamicamente segun metricas por clave fue la parte mas desafiante. Monitorizamos latencia y tasa de error por clave y recalculamos pesos de enrutamiento para favorecer proveedores con menor latencia y menor error. Las claves degradadas reciben menos trafico automaticamente, lo que mejora la resiliencia global del sistema.
Observabilidad sin coste: el reto fue capturar cada peticion y respuesta sin añadir latencia. La solucion fue logging asincrono con buffer y escrituras por lotes. Los logs se acumulan en memoria y se escriben periodicamente en bloque, minimizando impacto en la ruta critica y manteniendo trazabilidad completa para debugging y analitica.
Gestion de memoria y optimizaciones: aunque el GC de Go es eficiente, optimizamos asignaciones preasignando slices con capacidad conocida, reutilizando buffers mediante pools y limitando la duracion de goroutines usando contexto para cancelacion. Estas medidas reducen picos de uso de memoria y mantienen latencias estables.
Resultados: tras todas las optimizaciones alcanzamos una sobrecarga en el gateway de 11 microsengundos frente a 600 microsengundos con LiteLLM, redujimos el uso de memoria en alrededor de 68 por ciento, sostenemos 5000 RPS en una sola instancia y mantuvimos latencias p99 por debajo de 1 segundo a 5k RPS. Bifrost se publico desde el primer dia con licencia MIT y el repositorio incluye codigo fuente completo, suite de benchmark, configuracion Docker, guias de produccion y documentacion de arquitectura.
Que hubieramos hecho distinto: empezar con Go desde el principio en lugar de intentar escalar Python, integrar observabilidad desde el diseno y usar intensamente dogfooding para encontrar problemas antes en entornos reales. Estos aprendizajes aplican a cualquier proyecto de infraestructura de alto rendimiento.
Sobre Q2BSTUDIO: somos Q2BSTUDIO, una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Diseñamos soluciones personalizadas, desde aplicaciones a medida hasta plataformas con agentes IA y proyectos de inteligencia de negocio con Power BI. Si buscas servicios de desarrollo de aplicaciones a medida puedes conocer nuestras capacidades en servicios de desarrollo de aplicaciones a medida y si te interesan soluciones de inteligencia artificial para empresas visita nuestras soluciones de inteligencia artificial. Ofrecemos tambien ciberseguridad, pentesting, servicios de automatizacion de procesos y consultoria para desplegar en AWS y Azure.
Contribuir: damos la bienvenida a contribuciones en rendimiento, nuevos proveedores LLM, plugins personalizados y documentacion. Usar y mejorar proyectos open source como Bifrost es una excelente forma de impulsar la innovacion en infrastructures para IA. Keywords: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

.jpg)


