Canva reduce los tiempos de compilación de CI de horas a menos de 30 minutos

2024-12-18

El equipo de ingeniería de Canva redujo drásticamente los tiempos de compilación de integración continua (CI), de una media de 80 minutos a menos de 30 minutos, a veces incluso a 15. Esto se logró mediante un enfoque multifacético. Identificaron y resolvieron problemas de caché de Bazel, optimizaron las estructuras de pipeline, mejoraron los checkouts y el caché del repositorio Git y utilizaron la ejecución remota de compilación de Bazel (RBE). Experimentaciones extensas, incluyendo pruebas de diferentes tipos de instancias y ajustes en la configuración de Bazel, jugaron un papel crucial. Una serie de mejoras incrementales aumentaron significativamente la eficiencia de la CI, redujeron costos y mejoraron la experiencia del desarrollador.

Leer más

La ciencia del enrutamiento de pedidos de impresión en Canva

2024-12-14

El equipo de ingeniería de Canva construyó un sistema de reglas configurable para el recorrido de grafos con el fin de optimizar el enrutamiento de los pedidos de impresión. La separación de la construcción del grafo, el recorrido y la toma de decisiones garantiza una alta disponibilidad y escalabilidad. Utiliza bases de datos relacionales para la gestión de datos y genera grafos en caché de forma asíncrona para consultas rápidas. Un motor de reglas y un algoritmo de flujo de costo mínimo modificado encuentran la ruta óptima en milisegundos, minimizando la distancia de transporte y las emisiones de carbono, mejorando la experiencia del usuario y la eficiencia operativa.

Leer más