Infrastructure
Hosting
Choose where an application runs by runtime, process, state, networking, region, and operating ownership.
Recommendation
Choose the operating boundary before the hosting brand.
Four hosting responsibility models
Start with the workload and the control the team must retain; only then compare platforms inside the matching route.
Runtime and process model
List framework assumptions, language runtime, persistent processes, background workers, sockets, containers, and execution limits.1
State and networking
Define filesystem, volumes, private networking, outbound access, service discovery, and regional dependencies.4
Scale and resilience
Model startup behavior, minimum capacity, autoscaling, health checks, placement, rollback, and recovery.5
Ownership and economics
Choose which build, runtime, network, capacity, observability, and incident responsibilities the team can own.1
Hosting routes
Use the route that matches the workload contract; do not flatten materially different operating models into one ranking.
A Next.js-first product wants the integrated path
Evaluate Vercel.
First-party framework behavior and one deployment-to-delivery workflow can remove substantial platform work.
Verify: Persistent processes, arbitrary containers, provider-neutral execution, or incompatible metering should move the choice.12
The application is deliberately edge-platform native
Evaluate Cloudflare.
Distributed web execution and integrated services can fit applications designed for its runtime and bindings.
Verify: Conventional server assumptions, unsupported dependencies, or provider-neutral service boundaries should move the choice.12
A frontend platform workflow and adapter fit
Evaluate Netlify.
Git deployment and current Next.js adapter support can provide a cohesive frontend workflow.
Verify: Verify framework behavior and the current billing model; do not assume first-party Vercel semantics.123
The workload needs persistent services or explicit machines
Compare Railway and Fly.io.
Railway delegates more service operations; Fly.io exposes machine lifecycle and regional placement.
Verify: Choose based on required control, then model storage, network, capacity, recovery, and usage costs.124
Boundary: Serverless Compute owns bounded managed execution, Container Platforms owns container orchestration, CDN owns delivery caching, and Background Jobs owns recoverable asynchronous execution.
What the platform owns
The decisive differences are responsibility and workload compatibility, not deployment-button similarity.
- Execution
- Request functions, isolates, persistent services, and machines have different lifecycle and compatibility boundaries.4
- State
- Ephemeral filesystems, attached volumes, databases, and object storage change placement and recovery.5
- Networking
- Domains, egress, private services, regional placement, and proxy behavior vary by platform.45
- Operations
- Autoscaling, capacity, health, rollback, logs, incidents, and migrations transfer differently.5
- Cost shape
- Requests, duration, compute, memory, bandwidth, storage, and minimum capacity require workload modeling.1
Official resources
Use the primary documentation to verify runtime behavior, operating limits, service boundaries, and current commercial terms.
Related tools
Starter stacks
Sources
Official documentation supporting the routes and decision boundaries on this page.
- 1Vercel Next.js documentation
Vercel · Accessed Official
- 2Cloudflare Workers documentation
Cloudflare · Accessed Official
- 3Netlify Next.js overview
Netlify · Accessed Official
- 4Railway services
Railway · Accessed Official
- 5Fly Machines overview
Fly.io · Accessed Official