- When does serverless win?
- Bursty traffic (pay nothing at idle), event-driven workloads (queue processing), and teams with no ops capacity. Cold starts hurt latency-sensitive endpoints.
- When do containers win?
- Steady traffic, long-running processes (WebSockets, background workers), precise performance tuning, and portability across clouds.
- VMs — still relevant?
- Legacy workloads, specialized hardware (GPUs for ML), or when you need full OS control. For new apps, containers or serverless are almost always better.
- Can I mix them?
- Yes — most mature stacks do. API behind containers (predictable latency), async workers on serverless (bursty). Pick per workload characteristics.