For containers on AWS, Fargate bills for the exact vCPU and memory each task requests, with AWS managing the underlying capacity. EC2 behind ECS or EKS bills for whole instances that you keep busy yourself. Per unit of compute, Fargate is usually the more expensive option, but it removes idle capacity, cluster management, and patching. EC2 wins on total cost only when utilization is high, the fleet is covered by Compute Savings Plans, and you have moved to Graviton. The decision is a crossover: below a utilization threshold Fargate is cheaper all in, above it EC2 with commitments pulls ahead.
This is one of the most common container cost questions on AWS. Here is how to find your own crossover point.
Why does Fargate cost more per unit?
With Fargate you pay for the vCPU and memory each task declares, for exactly as long as it runs, and AWS absorbs the host. There is no idle instance to pay for between tasks and no cluster to manage. That convenience is priced in: the effective rate per vCPU hour sits above the equivalent EC2 rate.
With EC2 you rent whole instances. If a host is half empty, you still pay for the whole thing, so your effective rate depends entirely on how densely you pack tasks onto it. A poorly utilized EC2 fleet can easily cost more than Fargate despite the lower headline rate, because you are paying for idle cores. Utilization is the hinge of the whole comparison.
When does EC2 win on total cost?
EC2 pulls ahead when several things are true at once: the workload runs steadily enough to bin pack instances to high utilization, you cover the baseline with Compute Savings Plans, and you move eligible workloads to Graviton for a better price for performance. Stack those and the per unit premium of Fargate is no longer worth paying.
Compute Savings Plans matter here because they also apply to Fargate, so committing to an hourly spend discounts a steady Fargate baseline too. That narrows the gap. What it cannot fix is low utilization on EC2: no commitment makes idle cores cheap. So the real comparison is a well run, committed, Graviton EC2 fleet at high utilization against a committed Fargate baseline, and at scale the EC2 side typically wins.
A side by side on the deciding factors
| Factor | Fargate | EC2 behind ECS or EKS |
|---|---|---|
| Billing unit | Per task vCPU and memory | Whole instances you keep busy |
| Idle cost | None, you pay only running tasks | You pay for unused capacity |
| Best utilization fit | Spiky, bursty, low to medium | Steady and high |
| Commitment options | Compute Savings Plans | Savings Plans, Reserved Instances |
| Graviton price for performance | Available | Available, larger lever at scale |
| Operational load | Minimal, AWS manages hosts | You patch, scale, and bin pack |
A worked example
A scaling fintech ran dozens of bursty microservices on an EC2 backed EKS cluster sitting at low average utilization. Because the cluster was rarely busy, it was paying for idle nodes around the clock. Moving the spiky services to Fargate removed the idle bill, while the few steady, high traffic services stayed on EC2, were moved to Graviton, and were covered by a Compute Savings Plan. The mixed model cost less than either pure approach. Figures are verified against billing data and anonymised.
Frequently asked questions
Is Fargate more expensive than EC2?
When does EC2 beat Fargate on cost?
Can you use Savings Plans with Fargate?
Find your crossover point with us
We model Fargate against EC2 on your real utilization and commitment coverage, then recommend the mix that costs least without slowing your teams. Our guarantee: we reduce your cloud spend or we reimburse our service fee. Pricing is either a Fixed Fee scoped up front or Gainshare, a share of verified savings with no retainer and no risk.
Put a defensible number on your cloud spend.
No provider in the room, no published price list. Tell us your footprint and we will scope the savings against your billing data — we reduce your cloud spend or we reimburse our service fee.
The Cloud Spend Navigator: what changed in cloud pricing, commitments, and FinOps — no vendor spin.