Read this before the numbers
Every price in this post is a round, illustrative figure chosen to make the arithmetic easy to follow. None of them is a quote from any provider, and real prices change often and vary by region, plan and commitment. Before you decide anything, open the current pricing pages of the platforms and cloud providers you are considering and put their real numbers into the same calculation. The structure of the calculation is the useful part, not our figures.
The setup we are pricing
We price a typical small product team. The assumptions are deliberately simple.
- Five people deploy and need access to logs and settings
- Four production apps, for example two web apps, one API and one internal admin tool
- Each app has one web process, one background worker, a PostgreSQL database and a Redis instance
- Traffic is steady, with each web process needing around 1 GB of RAM and a share of a CPU core
- Databases are small to medium, up to a few tens of GB each
- Staging environments exist but we leave them out of the main calculation and come back to them later
That gives 8 application processes (4 web, 4 workers), 4 databases and 4 Redis instances, plus 5 seats.
Scenario one, a managed PaaS
On a typical PaaS, each process, database and cache is a separate billable resource. We use these round illustrative unit prices per month.
| Item | Illustrative price | Quantity | Monthly |
|---|---|---|---|
| Web process, about 1 GB RAM | 25 USD | 4 | 100 USD |
| Background worker, about 1 GB RAM | 25 USD | 4 | 100 USD |
| Managed PostgreSQL, small production tier | 30 USD | 4 | 120 USD |
| Managed Redis, small tier | 15 USD | 4 | 60 USD |
| Team seat | 20 USD | 5 | 100 USD |
| Total | 480 USD |
So in this model the four apps cost about 480 USD a month, or about 5 760 USD a year, before bandwidth, build minutes, logs retention add ons or extra environments. Some platforms charge by usage rather than by fixed process size, and some include seats, so your real number can be lower or higher. The point is the shape: cost scales with the number of processes, and every new worker or app adds a line.
Scenario two, your own servers with a management panel
Now run the same four apps on your own servers. A VPS with 4 vCPU and 8 GB of RAM comfortably runs two of these apps, including their workers, PostgreSQL and Redis, at the traffic we assumed. We again use round illustrative prices.
| Item | Illustrative price | Quantity | Monthly |
|---|---|---|---|
| VPS, 4 vCPU and 8 GB RAM | 30 USD | 2 | 60 USD |
| Small VPS for staging | 10 USD | 1 | 10 USD |
| S3-compatible backup storage | 10 USD | 1 | 10 USD |
| Deployment Team plan, billed yearly | 99 USD | 1 | 99 USD |
| Total | 179 USD |
The servers come from any provider you like, at that provider's raw price. The Deployment Team plan covers up to 15 servers, 100 sites and 10 team members, so it fits five people with room to grow. Billed monthly, the Team plan is 199 USD, which brings this scenario to about 279 USD a month. In this model the yearly total is about 2 148 USD with yearly billing, compared with about 5 760 USD for the PaaS scenario.
Scenario three, your own servers with no tools
You can also run the servers entirely by hand. The bill drops to about 80 USD a month in our model, but the hours rise sharply. Provisioning, hardening, TLS, deploy scripts, rollbacks, backups, monitoring and access control all become your team's work. For a team of five shipping product, that time usually costs more than the panel fee within the first month.
Do not forget the cost of time
A fair paas vs vps cost comparison includes people. Let us assume a fully loaded engineering cost of 100 USD an hour, again a round number for the arithmetic.
- PaaS: around 1 hour a month of platform related work, about 100 USD
- Own servers with a panel: around 2 hours a month (reviewing alerts, resizing a server, occasional updates), about 200 USD
- Own servers by hand: around 10 hours a month once you include setup amortized over a year, deploy script maintenance and incidents, about 1 000 USD
Adding time to the bills gives roughly 580 USD a month for the PaaS, 379 USD for own servers with a panel billed yearly, and 1 080 USD for own servers by hand. Your hourly cost and hours will differ, so plug in your own. The ranking changes only if your team spends much more time on servers than this, or if your PaaS bill is much smaller than our model.
How the gap grows with scale
The gap widens as you add apps and workers. On a PaaS, a fifth app adds another web process, worker, database and cache, around 95 USD a month in our model. On your own servers, a fifth app often fits on existing capacity for nothing extra, and when it does not, the next 8 GB server costs about 30 USD in our model. Heavy background work shows the difference most clearly: ten extra workers on a PaaS are ten more billable processes, while on a server they are ten more systemd units sharing CPU you already pay for.
What about staging environments
Staging is where PaaS bills often surprise teams. If every app gets a full staging copy, the PaaS scenario roughly doubles its process and database lines, adding several hundred dollars a month in our model, unless you use smaller tiers or sleep staging apps outside working hours. On your own servers, staging for all four apps fits on the one small VPS we already included. Branch per environment deploys make that server as easy to use as production.
When a PaaS is still the right choice
The arithmetic does not always favor servers. A managed platform makes sense in a few clear cases.
- One small app with low, spiky traffic where a single process covers everything
- A prototype you may throw away in a month
- No one on the team is willing to own anything at the server level, even through a panel
- You need instant scaling to many instances for short bursts and the platform does it well
For steady production workloads with several apps, workers and databases, own servers with a management tool are cheaper in most realistic models. Run the numbers for your own case, with real prices from current pricing pages, before you commit either way.
Run your own paas vs vps cost model
To redo this for your team, list every process, database, cache and seat on your current or intended PaaS, price each from the provider's current pricing page, then estimate how many servers would host the same workload and price those from your cloud provider. Add your management tool and an honest estimate of hours. Our PaaS pricing page shows Deployment's plans for that line of the sheet, and the heroku alternative page compares the two approaches feature by feature.
How Deployment keeps own servers cheap to run
Deployment exists to make scenario two as easy as scenario one. You connect your own servers over SSH or a cloud account by API token, and Deployment provisions them with security hardening, runtimes, databases and Redis. Each push deploys with zero downtime and one click rollback, workers and cron jobs are managed, monitoring and alerts are built in, and backups go to your own S3-compatible storage. There is no markup on compute, because servers stay in your cloud account and you pay your provider directly. Plans start at 49 USD a month, or 24 USD a month billed yearly. Paste a public repository into the demo on the home page to see the server plan Deployment proposes for your app.