The Deployment Tier They Didn't Teach You: Long-Running PaaS
You know serverless can't handle WebSockets. You know VMs can. So you assume a VM is your only option for real-time apps. That's a false binary. Long-running PaaS (Heroku, Render, Fly.io) gives you VM-like process lifetime with git push simplicity. No SSH. No systemd. No 3 AM security patches. Here's what the industry forgot to tell you.
You Don't Need a VM for WebSockets: The Missing PaaS Tier Nobody Talks About
I recently had a conversation that exposed a huge gap in my understanding of modern deployment.
I knew that serverless platforms (Vercel, Netlify, Lambda) are event-driven. Spin up, handle a request, die. Great for HTTP, terrible for WebSockets.
I also knew that VMs (DigitalOcean Droplets, EC2) are long-running. They stay alive indefinitely. WebSockets work fine.
So when I learned that WebSockets and serverless don't mix, I drew the only logical conclusion I could:
"For long-running processes like WebSockets, I need a VM."
That conclusion was reasonable, but wrong.
I was missing an entire category of platform.
The False Binary
The industry taught me a binary choice:
- Serverless (Vercel/Lambda) = Modern, simple, event-driven
- VMs (Droplet/EC2) = Traditional, complex, long-running
PaaS (Heroku, Render, Fly.io) was vaguely "something in between" — old, maybe irrelevant, certainly not worth considering.
That's a lie by omission.
The Real Three-Tier World
| Platform Type | Examples | Process Lifetime | WebSockets? |
|---|---|---|---|
| Event-driven (FaaS) | Vercel, Netlify, Lambda | Seconds | No |
| Long-running PaaS | Heroku, Render, Fly.io, Railway | Months | Yes |
| IaaS (VMs) | Droplets, EC2 | Months | Yes |
Long-running PaaS is a distinct, legitimate category. It gives you VM-like process lifetime with serverless-like management (git push to deploy, no SSH, no OS patches).
Nobody told me this because:
- "Serverless" ate all the marketing oxygen
- Heroku (the original long-running PaaS) killed its free tier in 2022
- Tutorials optimize for free demos, not real-time production needs
What You Can Build Without Touching a VM
Today, you can deploy:
- WebSockets (live chat, gaming, real-time dashboards)
- Background jobs (queue processing, email sending)
- Cron tasks (hourly reports, data syncs)
- Long-running API processes (no 30-second timeouts)
All on long-running PaaS. All with git push. No SSH. No systemd. No nginx configs.
Here's what a modern, no-VM stack looks like: Frontend (Next.js) → Vercel (serverless) Backend API + WebSockets → Render or Fly.io (long-running) Background workers → Same platform Database → Managed (Supabase, Neon, Upstash)
text
When Do You Actually Need a VM?
The list is shorter than you think:
- Custom kernel modules or exotic system dependencies
- Full network control (VPNs, custom firewalls)
- Extreme scale where PaaS markup becomes prohibitive (millions in cloud spend)
- Regulatory requirements for bare metal
For 95% of startups, side projects, and internal tools: PaaS + serverless is enough.
What I Wish I'd Been Told Day One
Ask three questions before picking a platform:
- Do I need WebSockets or real-time communication? → Long-running platform only
- Do I need background jobs or cron tasks? → Long-running platform only
- Is this just a CRUD API or static site? → Serverless is fine
That's it. Three questions. No binary. No VMs required.
The Bottom Line
You can build a million-dollar product on long-running PaaS. Many have.
You don't need to learn SSH, firewalls, or systemd just to run WebSockets. You don't need to choose between serverless and a VM.
The industry forgot to tell you about the middle path. Now you know.
Special thanks to the conversation that uncovered this blind spot. Sometimes the most important thing you can learn is what you were never told.
Comments
No comments yet. Be the first to share your thoughts!
Sign in to join the discussion and leave a comment.
Subscribe to the Newsletter
Get notified when new articles go live. No spam, unsubscribe anytime.