What I Save Hosting My Whole Portfolio on VPS
How much you save self-hosting a portfolio on VPS instead of managed cloud, with the real monthly math from running about twenty companies on owned boxes.
I run close to twenty companies off a handful of VPS boxes, and the whole fleet costs less than what a single mid-size startup pays one managed cloud in a month. That is the headline. When you own the metal, the bill stops scaling with your success and starts scaling with your actual compute. Those are very different curves.
Here is the money math, plainly.
How much does self-hosting a portfolio actually cost
My core fleet is four VPS boxes. Call it a few hundred dollars a month, all in, at the plan sizes I run. On those boxes live the apps, the databases, the reverse proxy, the job runners, and the vector store. Twenty products share that pool because most of them are not busy at the same time, and a quiet app costs almost nothing to keep warm.
Now price the managed version. Put each app on a PaaS with a managed database attached, and you are paying a floor per app whether it gets traffic or not. Twenty floors. Add a managed Postgres per product, add log retention, add egress. The number is not twice my bill. It is closer to ten times, and it grows every time I ship company number twenty-one. I broke down where that climb comes from in why your cloud bill keeps climbing.
Where the savings really come from
It is not the raw server price. A managed VPS and a raw VPS are close on the sticker. The savings come from three places most people never total up.
First, consolidation. Managed platforms bill per service. I bill per box. Ten small apps on one VPS is one line item, not ten. That collapse is the single biggest lever, and it only works when you control the host.
Second, the database. Managed Postgres is where cloud bills quietly double. I run one Postgres box for the whole portfolio, with pgvector on it, and every app connects to schemas on that shared instance. One box, many tenants. I made the full case for that in own your database instead of renting a managed one.
Third, egress and add-ons. Managed clouds meter the exits: data transfer, logging, metrics, backups, each its own upsell. On my own boxes, transfer is included in the plan and the "add-ons" are open-source packages I install once.
Is the saved money eaten by my time
This is the fair objection, so let me answer it with real numbers instead of hand-waving. Standing up the fleet took me a weekend. Maintaining it costs a few hours a month: patching, checking backups, the occasional restart. That is it. I automated the deploys so shipping a new app is a git push, which I walk through in the deploy you actually control.
The reason the time cost stays flat is that the twenty-first app does not add a new system to learn. It reuses the same proxy, the same database, the same backup job. Managed cloud sells you convenience per app. Self-hosting sells you a platform you build once and every venture inherits. My hosting stack, HostSSH, exists because I wanted that platform to be a product other operators could run, not a weekend project everyone rebuilds from scratch.
If the honest tally still favored managed for a single busy app, I would say so. It often does for one app. It almost never does for twenty.
When the savings are not worth it
I will not pretend this is free money for everyone. If you have one app, unpredictable spiky traffic, and no appetite for a terminal, managed hosting can be the right call, and I wrote about exactly when in when managed hosting is the right call. The self-hosting savings compound with the number of things you run. One app: marginal. Five apps: real. Twenty apps: the difference between a hobby budget and a payroll.
The other cost people forget is the exit. On managed cloud, leaving is a migration project because your data and your deploys are tangled in their primitives. On owned boxes, leaving is copying files to another box. That optionality is worth money too, and I treat it as a hard requirement in what no vendor lock-in actually requires.
The number that matters
Run your own tally. Take every managed line item, multiply by how many products you plan to ship in two years, and compare it to a fixed fleet of boxes that does not care how many apps you pile on. For a solo operator building a portfolio, the answer is not close.
I did not self-host to save a few dollars. I self-host so that shipping more companies makes my per-unit cost go down instead of up. That is the whole thesis of owning your stack, and the savings are just the receipt.