Look, container orchestration pricing is a clusterfuck. I've run most of these platforms in production and here's what actually happens when you try to deploy containers at scale.
Docker Swarm: "Free" Until It's Not
Docker Swarm is the Honda Civic of container orchestration - boring but it mostly works. The catch? When it doesn't work, you're fucked.
Ran a Swarm cluster for three months that worked great until we hit around 50 nodes. Then the overlay network started randomly shitting itself - containers couldn't talk to each other, services disappeared and reappeared like ghosts. Debugging Swarm networking is like trying to fix a car engine while blindfolded and the engine is on fire.
The "free" part stops being true when you factor in:
- At least one DevOps engineer who knows how to unfuck distributed systems ($120k+/year)
- Infrastructure costs that aren't obvious (load balancers, monitoring, backups)
- The opportunity cost of debugging weird edge cases instead of shipping features
Cloud Run: Death by a Thousand Cuts
Google Cloud Run is brilliant until you look at the bill. The pricing model sounds reasonable - pay per request, automatic scaling, no idle costs. In practice, you get nickel-and-dimed to death.
Here's exactly what happened to us: Simple fucking REST API, maybe 100k requests/day. Cloud Run bill? $340/month. Same exact API on a $50 DigitalOcean droplet? Runs fine, uses maybe 10% CPU. Google charges you for CPU time, memory allocation, and request handling like you're renting a Ferrari by the minute to drive to Starbucks.
Cold starts are another hidden cost. Your users suffer through 2-3 second delays while your containers wake up, but you don't see that in the billing console.
ECS: Reasonable Until AWS Gets Creative with Billing
Amazon ECS is actually pretty reasonable for the EC2 launch type. You pay for the underlying instances and ECS orchestration is free. But then you discover data transfer charges.
Moving data between availability zones? That'll be $0.01/GB. Cross-region? $0.02-$0.12/GB. Your containerized microservices talking to each other suddenly generates a $2100/month data transfer bill because AWS counts every packet like they're metering your fucking heartbeat.
ECS Fargate is convenient but expensive. It's like taking Uber everywhere instead of owning a car - fine for occasional use, bankruptcy-inducing for daily commutes. Check out real Fargate pricing examples to see what I mean.
The Real Cost Everyone Ignores
The biggest cost isn't the platform - it's your time. Every platform has its own special way of breaking:
- Swarm's networking randomly shits the bed
- Cloud Run's cold starts murder user experience
- ECS task definitions are YAML hell with a different syntax
- Nomad's documentation assumes you're already a HashiCorp expert
Budget at least 20-40% more than the calculator tells you, and that's assuming you don't get paged at 3am to debug why half your containers disappeared.
Most teams would save money and sanity by just running their shit on regular VMs with Docker Compose until they actually need the complexity of container orchestration.