セルフホスト vs GitHubホストのrunner: 本当のコスト比較
ホストされたrunnerは運用ゼロの分単位の請求だ。セルフホストのrunnerはその請求を、クラウドのcomputeプラス運用に費やす時間と交換する - そして2つ目のコストは過小評価しやすい。
「どちらが安いか」という問いに固定の答えはない; ボリューム、マシンサイズ、そしてfleetが消費するエンジニアリング時間の量に依存する。自分を欺かずに比較する方法を紹介する。
ホストrunnerの課金方法
GitHubホストのrunnerは、job時間の分単位で課金し、切り上げ、より大きなマシンや非Linuxマシンには乗数がかかる。価格は予測可能でメンテナンスを含むが、利用に応じて線形にスケールし、マシンをチューニングすることはできない。
セルフホストが実際にかかるコスト
- インスタンスのためのクラウドcompute(多くの場合ホストより分単価が安い)。
- runnerがjobを待って待機する場合のアイドル時間。
- fleetをパッチ適用、スケール、クリーンアップするエンジニアリング時間。
- 信頼性のインシデント: 古いrunner、いっぱいのディスク、孤立したjob。
分岐点
少量では、ホストがシンプルさで勝る。大量、あるいは重い/特殊なbuildでは、セルフホストのcomputeが分単価ではるかに安くなりうる - ただし稼働率が高く、運用オーバーヘッドが低いままの場合に限る。マネージドrunnerプラットフォームは、運用コストなしにcomputeの節約を取り込むことを狙う。
正直に比較する方法
インスタンスの請求だけでなく、エンジニアリング工数に金額を付ける。computeを節約するがエンジニアの週1日を費やすセルフホストfleetは、実際には安くない。一時的な失敗からの再実行も両側を膨らませる - それらを数える。
重要なポイント
- ホスト = 予測可能な分単価、運用ゼロ、チューニングなし。
- セルフホスト = computeは安いが、アイドル時間と運用で対価を払う。
- 分岐点は、高い稼働率での大量利用時にセルフホストに有利になる。
- インスタンスの請求だけでなく、常にエンジニアリング時間と再実行を価格に入れる。
よくある質問
What is Self-hosted vs hosted cost?
The "which is cheaper" question has no fixed answer; it depends on volume, machine size, and how much engineering time the fleet consumes. Here is how to compare them without fooling yourself.
How hosted runners bill?
GitHub-hosted runners charge per minute of job time, rounded up, with a multiplier for larger or non-Linux machines. The price is predictable and includes maintenance, but it scales linearly with usage and you cannot tune the machine.