Hosting
Fly.io icon

Fly.io

Deploys your app as an actual VM close to your users across multiple regions. Good for backend-heavy apps that need real compute, not just functions.

What is Fly.io?

Fly.io runs your application as a real virtual machine (a Firecracker microVM, specifically) deployed close to your users across multiple regions, rather than abstracting your app into stateless functions the way a lot of modern hosting platforms do. That means it's a better fit for workloads that need persistent processes, WebSocket connections, background jobs, or anything else that doesn't fit cleanly into a request/response function model. You deploy from a Dockerfile or a supported buildpack via its fly CLI.

Key features

  • Deploys as actual VMs, not ephemeral functions, so long-running processes and stateful connections work naturally
  • Multi-region deployment with automatic routing to the closest running instance
  • Fly Postgres and Fly Volumes for attaching persistent storage directly to your app
  • Private networking (6PN) between your own apps across regions without extra configuration
  • Fine-grained control over machine size, scaling, and region placement via the CLI or fly.toml config

Who it's for

Backend-heavy applications that need real compute, persistent connections, or multi-region deployment, more than a simple frontend or API that would run fine on a function-based platform. It comes with more infrastructure concepts to learn than a fully managed platform like Vercel, so it's a step up in complexity in exchange for more control.

Pricing

Usage-based, billed for compute (VM size and uptime), storage, and bandwidth, with a limited free allowance for small workloads.