Fargate, Autopilot and Container Instances vs nodes: cost
Short answer: pod-billed Kubernetes charges for the CPU and memory your pods request, for the hours they run, with no nodes to size or patch. The price per unit of CPU and memory is higher than on ordinary nodes, so pod billing wins when nodes would sit idle or you run few pods, and loses when well-packed nodes stay busy.
Key points
- You pay for pod requests, not for machines.
- There is no node reserve, no minimum node count and no idle node space to pay for.
- The unit price is higher than a node’s price per unit of CPU and memory.
- The cluster fee still applies.
- Services are equivalent only as pod-billed modes, not as node-billed clusters.
Which services are equivalent?
| Cloud | Pod-billed mode | Vendor page |
|---|---|---|
| AWS | Fargate on EKS | Fargate pricing |
| Azure | Container Instances through AKS virtual nodes | Container Instances pricing |
| Google Cloud | GKE Autopilot | GKE pricing |
| Oracle | OKE virtual nodes | OKE pricing |
Our Kubernetes estimator has a pod mode for the first three. Oracle shows as “can’t be sized” because the price list has no pod-level CPU and memory rate for virtual nodes.
What does a worked example look like?
Made-up round numbers to show the method, not real prices. The pods request 16 vCPU and 64 GB. Compare 5 nodes against pod billing, over 730 hours.
| Option | Calculation (made up) | Monthly cost |
|---|---|---|
| Nodes | 5 nodes x 730 h x 0.20 | 730.00 |
| Pods | 16 vCPU x 730 h x 0.045 + 64 GB x 730 h x 0.005 | 525.60 + 233.60 = 759.20 |
At full request size the nodes are slightly cheaper. Now the load is not constant: the pods average half the requested size over the month because they scale down at night.
| Option | Calculation (made up) | Monthly cost |
|---|---|---|
| Nodes (still 5, or 3 with autoscaling at best) | 3 x 730 x 0.20 | 438.00 at the three-node floor |
| Pods at half the hours | 759.20 x 0.5 | 379.60 |
With a node floor of three, the nodes cost 438.00 while the pods cost 379.60. The more your usage moves up and down, and the less your nodes can shrink, the better pod billing looks. The unit price is the penalty; idle space is what you avoid.
What decides it?
- Utilization. Pods win when nodes would run well below full.
- Spikiness. Rapid scale-up and scale-down fit pod billing.
- Cluster size. Very small clusters pay for a three-node floor that pods avoid.
- Features. Pod modes can restrict privileged containers, host access and some storage types.
- Rounding. Some pod modes round requests up to supported sizes, which raises cost.
Which mistakes are common?
- Comparing the unit price alone and ignoring idle nodes.
- Setting pod requests above what the application uses, which you then pay for.
- Forgetting the cluster fee.
- Assuming all four clouds are comparable: Oracle’s is not sizeable from public prices.
Decision checklist
- What is the average, not just peak, CPU and memory your pods request?
- Could nodes autoscale down far enough to match?
- Does the workload fit pod-mode restrictions?
- Have I priced both modes with the same requests?
Next steps
Switch between nodes and pods in the Kubernetes estimator with your own requests. For the node side, read Kubernetes node sizing. For functions instead of containers, see serverless or servers.
Frequently asked questions
What is pod-billed Kubernetes?
A mode where you pay for the CPU and memory each pod requests, for as long as it runs, instead of paying for worker nodes. AWS Fargate on EKS, Google GKE Autopilot and Azure Container Instances (AKS virtual nodes) work this way.
Is pod billing cheaper than nodes?
For uneven or small workloads, often yes, because you pay no idle node capacity. For steady, well-packed workloads, nodes usually cost less per unit of CPU and memory.
Do I still pay a cluster fee with pod billing?
Yes. The cluster fee applies on Amazon, Azure and Google, and Google bills its Autopilot cluster fee separately from the pods.
Can Oracle's virtual nodes be compared?
Oracle bills a virtual node per hour, but its price list has no separate rate for the CPU and memory pods use there, so the cost of a pod load can't be sized from it. Our estimator shows that cloud as incomplete in pod mode.
How do I decide between nodes and pods?
Compare the monthly cost of both for your measured requests and utilization. The node price per unit is lower, so pods win only when your nodes would sit mostly idle.