VPS vs App Platform
Both run your code. They differ in how much control you want versus how much the platform manages for you.
What each product is
VPS is a full virtual machine. You get root access, choose the OS, install anything, and manage the server yourself. It runs 24/7 on a fixed monthly plan.
App Platform is managed container hosting. You push a Docker image or connect a Git repo, and the platform handles deployment, scaling, TLS, and DNS. You pay for runtime hours.
When to use VPS
- You need full OS control (custom packages, kernel modules, system services)
- You are running Windows workloads
- You need persistent local storage across reboots
- You want to install and manage your own database server
- You need SSH or RDP access to the machine
- Your workload requires a fixed IP address with reverse DNS
When to use App Platform
- You have a containerized application (Docker image or Dockerfile in a Git repo)
- You want zero-downtime deployments with one-click rollback
- You need automatic scaling based on traffic
- You want to pay only when the app is running (scale-to-zero)
- You prefer Git-push deploys over SSH access
- You need automatic TLS certificates and DNS routing
Key differences
| VPS | App Platform | |
|---|---|---|
| Unit | Virtual machine (full OS) | Container |
| Access | SSH, RDP, VNC console | Logs and metrics only |
| OS | Linux (9 distros) + Windows | Docker image |
| Scaling | Manual (resize plan) | Automatic (min/max instances) |
| Deploy | SSH in, install manually | Git push or image deploy |
| Rollback | Rebuild from snapshot | One click (revision history) |
| Scale to zero | No (always running) | Yes (no cost when idle) |
| Billing | Monthly subscription | Hourly usage-based |
| Custom domains | Manual DNS setup | Automatic routing + TLS |
| Persistent storage | Yes (disk survives reboot) | No (ephemeral containers) |
| Firewall | Per-instance rules | Platform-managed |
Decision guide
Start with App Platform if:
- Your app runs in a container
- You value deployment speed over server customization
- Traffic varies and you want to avoid paying for idle capacity
Start with VPS if:
- You need to install software that does not run in a container
- You need Windows, custom ISOs, or system-level access
- You want a predictable monthly cost regardless of traffic
- You are running databases, mail servers, or other stateful services
Both services can be combined. A common pattern is running your database on a VPS and deploying your application on the App Platform.
Build flows
- Deploy a VPS — create and access a virtual server
- See App Platform documentation for deployment guides