Canva、CIビルド時間を数時間から30分未満に短縮

2024-12-18

Canvaのエンジニアリングチームは、継続的インテグレーション(CI)のビルド時間を平均80分から30分未満、場合によっては15分まで大幅に短縮することに成功しました。これは多角的なアプローチによって実現されました。Bazelキャッシュの問題の特定と解決、パイプライン構造の最適化、Gitリポジトリのチェックアウトとキャッシュの改善、Bazelリモートビルド実行(RBE)の活用などです。さらに、さまざまなインスタンスタイプのテストやBazel設定の調整など、広範囲にわたる実験が行われました。一連の増分的な改善により、CIの効率が大幅に向上し、コストが削減され、開発者エクスペリエンスが向上しました。

続きを読む

Canvaの印刷注文ルーティングの科学

2024-12-14

Canvaのエンジニアリングチームは、印刷注文のルーティングを最適化するために、グラフ探索のための設定可能なルールシステムを構築しました。グラフの構築、探索、意思決定のプロセスを分離することで、高い可用性と拡張性を確保しています。データ管理にはリレーショナルデータベースを使用し、高速なクエリのために非同期的にキャッシュされたグラフを生成します。ルールエンジンと修正された最小コストフローアルゴリズムにより、ミリ秒単位で最適なルートを見つけ出し、輸送距離と炭素排出量を最小限に抑え、ユーザーエクスペリエンスと運用効率を向上させています。

続きを読む