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コストを見積もるエンジニアリングマネージャー、ビルドシステムのキャッシングレイヤーを設計するプラットフォームエンジニア、開発環境の帯域幅をプロビジョニングするネットワークチームに活用されます。