EKS Fargate vs EC2 Nodes: how to choose
This is a trade between operational surface and control. With EC2 nodes you run instances — sizing, patching, autoscaling and capacity headroom are yours, and so is every capability the kernel offers. With Fargate each pod gets its own managed compute; there is no node to patch and no capacity to plan, and a list of things you can no longer do.
Fargate's appeal is genuine for teams without a platform engineer. No node upgrades, no autoscaler tuning, no shared-node blast radius, and per-pod isolation by default. For bursty or infrequent workloads, paying only for pod resources while they run can also be cheaper than keeping nodes warm.
The restrictions are what decide most cases. No DaemonSets, no privileged containers, no GPUs, no host networking or hostPath volumes, and limited support for anything that expects node access — which includes many observability and security agents.
What you give up on Fargate
| Capability | EC2 nodes | Fargate |
|---|---|---|
| DaemonSets | Yes | No — agents must run as sidecars instead |
| Privileged containers | Yes | No |
| GPUs and specialised hardware | Yes | No |
| hostPath and host networking | Yes | No |
| Node patching | Yours to do | Managed for you |
| Pricing model | Per instance, whether busy or idle | Per pod vCPU and memory, while running |
| Bin packing | Your responsibility, and your saving | Not applicable — one pod per compute unit |
The DaemonSet problem is the one that catches teams
Most clusters run log collectors, metrics agents and security tooling as DaemonSets — one per node, collecting for everything on it. Fargate has no nodes to place them on, so each of those becomes a sidecar in every pod. That multiplies their resource cost by pod count instead of node count, and means updating an agent is a redeploy of every workload.
Check what your observability and security vendors support on Fargate before committing. This is the most common reason a Fargate migration stalls partway, and it is much cheaper to discover during evaluation than after moving half the estate.
Frequently asked questions
Is Fargate more expensive than EC2?
Per unit of compute, generally yes. Whether it is more expensive in total depends on your utilisation: well-packed EC2 nodes running steadily are cheaper, while nodes sized for peak and idle much of the time may not be. Compare against your actual utilisation rather than list prices, and include the engineer time that node management consumes.
Can I mix Fargate and EC2 in one cluster?
Yes, and it is the pattern most teams settle on. Fargate profiles select which pods run there by namespace and labels, so you can put bursty or isolated workloads on Fargate while keeping GPU jobs, DaemonSet-dependent workloads and steady baseline capacity on EC2 nodes.
How does scaling compare?
Fargate provisions per pod with no node to wait for, so scale-up avoids the node-provisioning step entirely. Per-pod start is not instant — image pull still applies — but there is no capacity to plan. With EC2 and a fast provisioner like Karpenter the gap narrows considerably, at the cost of running and tuning that provisioner.
Is Fargate better isolated?
Yes, meaningfully. Each pod runs on its own managed compute rather than sharing a kernel with neighbours, which removes the container-escape-to-noisy-neighbour class of risk. For multi-tenant workloads or untrusted code, that isolation is a real security argument and often the deciding one.