Spot vs Managed Runners: How to Cut CI Cost
Spot runners are cheap until an interruption kills a job mid-run. The real question is cost per successful run, not cost per minute.
Spot instances cut the per-minute price but can be reclaimed mid-job, turning a cheap minute into a failed run and a retry. Comparing spot, self-hosted, and managed runners means weighing price against interruption and operational cost.
1. Cost per successful run, not per minute
A spot interruption forces a full rerun. Factor the interruption rate and retry cost into the comparison, not just the headline minute price.
2. Self-hosted shifts cost to ops
Self-hosted runners are cheaper on paper but you own provisioning, patching, scaling, and cleanup. That operational cost is real even when it is not on the CI bill.
3. Managed runners cut cost and remove the babysitting
Latchkey managed runners run about 69 percent cheaper than GitHub-hosted runners, with warm pools for fast pickup and self-healing auto-retry so a flaky infra event is retried on a fresh runner instead of failing your job.
4. Model the trade-off with real numbers
Plug your minutes and runner mix into the cost calculator to see actual spend per option.
# Compare your current hosted spend vs managed
# at /learn/github-actions-cost-calculatorKey takeaways
- Compare cost per successful run; spot interruptions turn cheap minutes into reruns.
- Self-hosted savings are offset by provisioning and maintenance ops cost.
- Managed runners are ~69 percent cheaper with warm pools and self-heal retry.