Canva reduziert CI-Buildzeiten von Stunden auf unter 30 Minuten

2024-12-18

Das Canva-Ingenieurteam hat die Continuous-Integration-(CI)-Buildzeiten drastisch reduziert, von durchschnittlich 80 Minuten auf unter 30 Minuten, teilweise sogar auf nur 15 Minuten. Dies wurde durch einen vielschichtigen Ansatz erreicht. Sie identifizierten und behoben Bazel-Cache-Probleme, optimierten Pipeline-Strukturen, verbesserten Git-Repository-Checkouts und Caches und nutzten Bazel Remote Build Execution (RBE). Umfangreiche Experimente, einschließlich Tests verschiedener Instanztypen und Anpassungen der Bazel-Konfiguration, spielten eine entscheidende Rolle. Eine Reihe von inkrementellen Verbesserungen steigerten die CI-Effizienz deutlich, senkten die Kosten und verbesserten die Entwicklererfahrung.

Mehr lesen
Entwicklung CI-Optimierung

Die Wissenschaft des Routings von Druckaufträgen bei Canva

2024-12-14

Canvas Engineering-Team hat ein konfigurierbares Regelsystem für die Graphen-Traversierung entwickelt, um das Routing von Druckaufträgen zu optimieren. Die Entkopplung von Graphenaufbau, -traversierung und Entscheidungsfindung gewährleistet hohe Verfügbarkeit und Skalierbarkeit. Es werden relationale Datenbanken für die Datenverwaltung verwendet, und ein zwischengespeicherter Graph wird asynchron generiert, um schnelle Abfragen zu ermöglichen. Eine Regelengine und ein modifizierter Algorithmus für den minimalen Kostenfluss finden die optimale Route in Millisekunden, minimieren die Transportentfernung und die CO2-Emissionen und verbessern so die Benutzererfahrung und die betriebliche Effizienz.

Mehr lesen