CI/CDパイプラインの帯域幅計画

アーティファクトダウンロード、Dockerプル、依存関係インストール、アーティファクトアップロードを含むCI/CDパイプラインの帯域幅要件を計算します。

DevOps

詳細な説明

CI/CDパイプライン帯域幅計画

CI/CDパイプラインは驚くほど帯域幅を消費します。各ビルドは依存関係のダウンロード、Dockerイメージのプル、外部サービスを使用したテスト、アーティファクトのアップロードを行う場合があります。

一般的なパイプライン帯域幅プロファイル

Node.js Webアプリケーションのビルド:

ステージ データ転送量
Gitクローン 50-500 MB
npm install(コールドキャッシュ) 200-800 MB
Dockerベースイメージプル 100-400 MB
テストフィクスチャ/データ 10-100 MB
ビルドアーティファクトアップロード 50-200 MB
Dockerイメージプッシュ 100-500 MB
ビルドあたり合計 500 MB - 2.5 GB

必要帯域幅の計算

1日200ビルド、平均1 GBのチームの場合:

日次転送量: 200 * 1 GB = 200 GB
8時間勤務中: 200 GB / (8 * 3600)秒
= 200 * 8 Gb / 28,800 = ~55.6 Mbps持続

ピーク(10同時ビルド): ~556 Mbpsバースト

帯域幅削減のためのキャッシング戦略

戦略 帯域幅削減率
npm/pip/Mavenキャッシュ 依存関係ダウンロードの60-90%
Dockerレイヤーキャッシュ イメージプルの70-95%
Gitシャロークローン クローンサイズの80-95%
アーティファクトキャッシュ リビルドデータの50-80%

効果的なキャッシングにより、ビルドあたり1 GBが約200-400 MBに削減されます。

ユースケース

CI/CDランナーインフラをサイジングするDevOpsチーム、クラウドCIコストを見積もるエンジニアリングマネージャー、ビルドシステムのキャッシングレイヤーを設計するプラットフォームエンジニア、開発環境の帯域幅をプロビジョニングするネットワークチームに活用されます。

試してみる — Bandwidth Calculator

フルツールを開く