Zhivko Todorov
ALL CASE STUDIES

CASE 74 · BRISTLE · 2024

GITHUB ACTIONSSELF-HOSTEDPARALLELISMEC2 SPOT

CI throughput that scales with the team, not against it.

A fintech with 60 engineers had GitHub Actions throughput problems. Peak hour saw 40-minute queue times before a job even started running. The bill on GitHub-hosted runners was $14k/month. We migrated to self-hosted runners on EC2 Spot with intelligent autoscaling.

INDUSTRY

Fintech

DOMAIN

PLATFORM

DELIVERED

2024

STACK

GITHUB ACTIONS·ACTIONS RUNNER CONTROLLER·EC2 SPOT·EKS·EFS (CACHE)·KARPENTER

RESULTS

What changed, by the numbers.

QUEUE TIME (PEAK)

< 30s

WAS 40m

CI BILL

−68%

$14K → $4.5K / MONTH

JOB CONCURRENCY

PEAK CAPACITY

SPOT INTERRUPTIONS

< 0.05%

OF JOB-MINUTES

HOW IT WENT

GitHub-hosted runners were fine for a 6-engineer company. At 60 engineers, the concurrency limits kept hitting hard. Engineers pushed at 10am, came back from coffee, and the job was still queued. CI velocity had become a real bottleneck on shipping.

Actions Runner Controller on EKS provisioned runners on demand via Karpenter, with EC2 Spot for the bulk of capacity. EFS held the shared build cache so runners weren’t cold-starting every job. Pod disruption budgets handled Spot interruptions gracefully.

Queue time at peak dropped from 40 minutes to under 30 seconds. CI bill dropped 68% — Spot pricing was a fraction of GitHub-hosted runner cost, and concurrency stopped being a constraint. The team’s deploy frequency went up; the team retro stopped opening with "CI was slow this week."

READY WHEN YOU ARE

Let's get your AWS bill (and architecture) in order.

The discovery call is free. You walk away with at least one concrete idea — even if we never work together.

Or email directly →