Canva Engineering Cuts CI Build Times from Hours to Under 30 Minutes

2024-12-18

Canva's engineering team dramatically reduced their continuous integration (CI) build times, from an average of 80 minutes to under 30 minutes, sometimes as low as 15. This was achieved through a multifaceted approach. They identified and resolved Bazel caching issues, optimized pipeline structures, improved Git repository checkouts and caching, and leveraged Bazel Remote Build Execution (RBE). Extensive experimentation, including testing different instance types and adjusting Bazel configurations, played a crucial role. A series of incremental improvements significantly increased CI efficiency, reduced costs, and enhanced the developer experience.

Read more

The Science of Routing Print Orders at Canva

2024-12-14

Canva's engineering team built a configurable rules system for graph traversal to optimize print order routing. Decoupling graph building, traversal, and decision-making ensures high availability and scalability. It uses relational databases for data management and asynchronously generates a cached graph for fast querying. A rules engine and a modified minimum-cost flow algorithm find the optimal route in milliseconds, minimizing transport distance and carbon emissions, enhancing user experience and operational efficiency.

Read more