CI/CD コストとは? 請求書の先にある全体像
CI/CD コストは、ソフトウェアを自動で build・テスト・デリバリーするための総コストです - compute、ツール、storage、そしてその周辺のエンジニアリング時間です。
ほとんどのチームは CI/CD コストを runner の請求書と同一視しますが、それは目に見える部分にすぎません。実際のコストには、保持する storage、flaky なパイプラインの面倒を見るエンジニア、そして CI が遅かったり不安定だったりするときのデリバリー遅延が含まれます。全体像を見ることこそが、デリバリーを遅らせずにコストを削減する鍵です。
直接的な compute コスト
最大の目に見える項目は runner の分です: job が build しテストする間に課金される時間です。GitHub ホストの Linux 2-core runner で約 $0.008/分なら、月に数万分を実行するチームは compute だけで数百から数千ドルを支払います。
storage と転送
artifact、build cache、コンテナイメージは storage 料金を蓄積します。すべてを永久に保持する保持ポリシーは、この項目を静かに肥大させます。通常は compute より小さいですが、無視しやすく、気づいたときには手遅れになりがちです。
ツールとライセンス
コード品質スキャナー、テストオーケストレーター、セキュリティツール、CI アドオンは、しばしばシートあたりまたは build あたりの価格を持ちます。runner の請求書には現れなくても、これらは CI/CD コストの一部です。
隠れたエンジニアリングコスト
最も過小評価されるコストは人です。あらゆる flaky な失敗はエンジニアを引き離して job を再実行させ、あらゆる遅いパイプラインは待つ間のコンテキストスイッチを強います。この時間は財務ダッシュボードにはめったに載りませんが、劣悪な CI 構成の最大の実コストであることがよくあります。
遅いデリバリーの機会費用
遅い、または不安定な CI は lead time を延ばし、release を遅らせ、deploy 頻度を下げます。このデリバリーの足かせは、請求書上にドルの数字として現れなくても、正真正銘のビジネスコストです。
測定と削減
まず compute をチームとリポジトリに割り当て、次に build あたりのコストと deploy あたりのコストを追跡しましょう。制御可能な部分を削減します: cache で分を減らし、flaky な再実行をなくし、runner を適切なサイズにし、より安いプラットフォームを使います。Latchkey のマネージド runner は compute の項目を GitHub ホスト比で約 70% 削減し、自己修復が flaky な job の再実行という隠れた人的コストを取り戻します。
重要なポイント
- CI/CD コストは runner の請求書以上のもので、compute、storage、ツール、人にまたがります。
- flaky で遅いパイプラインによる隠れたエンジニアリング時間が、最大の実コストであることが多いです。
- 遅い CI はデリバリー遅延という機会費用を伴います。