TL
The short answer

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

Indicative comparison of the cost drivers. The crossover point depends on your utilization, commitment coverage, and the value of the engineering time spent managing EC2.
FactorFargateEC2 behind ECS or EKS
Billing unitPer task vCPU and memoryWhole instances you keep busy
Idle costNone, you pay only running tasksYou pay for unused capacity
Best utilization fitSpiky, bursty, low to mediumSteady and high
Commitment optionsCompute Savings PlansSavings Plans, Reserved Instances
Graviton price for performanceAvailableAvailable, larger lever at scale
Operational loadMinimal, AWS manages hostsYou patch, scale, and bin pack

A worked example

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?
Per unit of compute, usually yes, because you pay for managed capacity and no idle overhead. But EC2 only wins on total cost at high utilization with commitments. At low or spiky load, Fargate often costs less overall.
When does EC2 beat Fargate on cost?
When you run a steady, high utilization fleet covered by Compute Savings Plans, moved to Graviton, and bin packed efficiently. At scale and high utilization, EC2 with commitments is cheaper.
Can you use Savings Plans with Fargate?
Yes. Compute Savings Plans apply to Fargate, EC2, and Lambda, so a steady Fargate baseline can be discounted. That narrows but does not erase the gap with a well run EC2 fleet.

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.

Independent · buyer-side

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.

Buyer-side intelligence, monthly.

The Cloud Spend Navigator: what changed in cloud pricing, commitments, and FinOps — no vendor spin.