Match the platform to your architecture
If you're building a Next.js or React app, Vercel is the path of least resistance — it's built by the same team and handles SSR, ISR, and edge functions natively. If you need a full-stack platform with databases, queues, and cron jobs, Railway gives you a PaaS experience without vendor lock-in. If you need containers with geographic distribution, Fly.io places your app close to users worldwide. AWS/GCP are overkill for most startups but necessary when compliance or specific cloud services are required.
The free tier trap
Every deployment platform offers a free tier, and every one has catches. Vercel's free tier limits serverless function execution time. Netlify caps bandwidth at 100GB. Railway gives you $5/month in credits. The real cost isn't the hosting itself — it's the database, blob storage, and bandwidth charges that come with a real application. Model your expected usage before assuming "free" will last.
Platform lock-in is real but manageable
Vercel's edge functions, Netlify's serverless functions, and Cloudflare Workers all have slightly different APIs and constraints. The more platform-specific features you use, the harder it is to migrate. The mitigation strategy: use standard Node.js where possible, containerize your application for portability, and keep platform-specific code in thin adapter layers rather than spreading it throughout your codebase.
When you need a VPS instead
Sometimes the best deployment option is a $5-20/month VPS on Hetzner, DigitalOcean, or Linode. This makes sense when: your app needs persistent processes (WebSocket servers, background workers), you want full control over the runtime, or you need to run specific system-level dependencies. The tradeoff is that you own the operations — SSL, monitoring, deployments, and uptime.
The CI/CD non-negotiable
Regardless of where you deploy, automated deployments are non-negotiable. Every platform listed here supports Git-push deploys (connect your repo, push to main, deploy automatically). If you're still deploying via FTP or manual SSH, switching to any of these platforms will be a productivity leap. Preview deployments (automatic deploys of pull requests) are equally valuable and supported by Vercel, Netlify, and Railway.