Canva réduit les temps de build CI de plusieurs heures à moins de 30 minutes

2024-12-18

L'équipe d'ingénierie de Canva a considérablement réduit les temps de build d'intégration continue (CI), passant d'une moyenne de 80 minutes à moins de 30 minutes, voire 15 minutes dans certains cas. Ce résultat a été obtenu grâce à une approche multiforme. Ils ont identifié et résolu des problèmes de cache Bazel, optimisé les structures de pipeline, amélioré les checkouts et le cache du dépôt Git, et utilisé l'exécution de build distante de Bazel (RBE). Des expérimentations approfondies, incluant des tests de différents types d'instances et des ajustements des configurations Bazel, ont joué un rôle crucial. Une série d'améliorations incrémentales ont significativement augmenté l'efficacité de la CI, réduit les coûts et amélioré l'expérience développeur.

Lire plus

La science du routage des commandes d'impression chez Canva

2024-12-14

L'équipe d'ingénierie de Canva a construit un système de règles configurable pour la traversée de graphes afin d'optimiser le routage des commandes d'impression. La séparation de la construction du graphe, de la traversée et du processus de décision garantit une haute disponibilité et une évolutivité accrue. Il utilise des bases de données relationnelles pour la gestion des données et génère un graphe mis en cache de manière asynchrone pour des requêtes rapides. Un moteur de règles et un algorithme de flot de coût minimal modifié trouvent la meilleure route en quelques millisecondes, minimisant la distance de transport et les émissions de carbone, améliorant ainsi l'expérience utilisateur et l'efficacité opérationnelle.

Lire plus