Fargate or Bottlerocket? A cost-and-ops call, not a religion.
The decision matrix I actually use, with the break-even at ~120 tasks where the math flips.
The Fargate-vs-EC2 argument is usually fought as identity — serverless purists against ops traditionalists — when it’s really just a break-even. Run the numbers and the religion evaporates. Mine flips at around 120 steady tasks.
The break-even
| Footprint | Fargate | Bottlerocket / EC2 |
|---|---|---|
| 40 tasks | 3,100 | 3,900 |
| 120 tasks | 9,300 | 9,200 |
| 300 tasks | 23,200 | 17,800 |
| Crossover | ~120 tasks |
Below the crossover, Fargate wins — and it wins by more than the table shows, because the EC2 column doesn’t price the ops time of patching, bin-packing and capacity management. At 40 tasks, paying a premium to make that someone else’s job is obviously correct.
Above it, Bottlerocket on EC2 pulls ahead and keeps going — at 300 tasks it’s ~23% cheaper on compute alone, before Savings Plans, and the per-task overhead you’re now running full-time justifies a platform team to own it.
Pick the platform your footprint pays for, not the one your conference talk prefers.
The matrix
- Spiky or low-volume? Fargate. You’re buying elasticity and handing back ops, and below the crossover that’s free money.
- Steady and past ~120 tasks? Bottlerocket. The compute delta now funds the platform team that runs it.
- No platform team and no plans for one? Fargate regardless. The cheapest EC2 bill in the world isn’t cheap if nobody’s patching the nodes.