Skip to main content
Stackbastion

Why we host the product on a VPS instead of a big cloud

7 July 2026· 6 min read · by Stackbastion

Every time I tell another engineer that we run customer apps on a plain VPS, I get the same raised eyebrow. Not a hyperscaler? Not “real” cloud? The assumption is that serious infrastructure means one of the big three, and anything else is a hobbyist choice.

It isn’t. Here’s the actual reasoning, including the parts where the big clouds would genuinely be the better call.

To be clear about scope: this post is about the product, the servers where we run our customers’ apps. That’s a self-managed VPS plus Docker plus Caddy plus our own Postgres. This marketing website runs somewhere else entirely, and I explain that split in how we host this site. Don’t mix the two up.

The customer we’re building for

You can’t pick infrastructure without knowing who it’s for.

Our customer built an app with an AI tool. It works, it has real users, and it’s outgrown the platform it was born on. They are not a DevOps team. They don’t want a console with 200 services in it. They want their app to stay up, their data to be safe, and a human to call when it isn’t.

That customer profile decides almost everything. Optimizing for a team that doesn’t exist would be a mistake.

Where the big clouds actually win

Let me steelman them first, because they’d be right for a different company.

  • Global scale. If you need servers in 30 regions and traffic in the millions of requests per second, hyperscalers are built for exactly that. We don’t need it. Our customers’ apps are regional, and one well-sized box goes a long way.
  • Managed everything. Want a managed queue, a managed search cluster, a managed ML pipeline, all wired together? The big clouds have a service for it. That breadth is real and valuable if you use it.
  • Compliance certifications on tap. Enterprise procurement often demands a specific cloud’s certification stack. If you’re selling to Fortune 500 IT departments, that matters.
  • Elastic bursting. If your load swings 100x in an hour and back down, paying only for what you burn can win. Steady load doesn’t benefit.

If our customers needed those things, this would be a different post. They don’t, so those strengths are features we’d pay for and never use.

Why a plain VPS fits better

Now the case for.

Cost, honestly. This is the loud one, so let me use real numbers. A mid-tier VPS gives you 4 vCPU and 8 GB of RAM for roughly 7 euros a month. Getting comparable compute plus a real Postgres tier on a big cloud is closer to 60 to 120 dollars a month once you add the managed database, the load balancer, the egress fees, and the bits that quietly bill you. For a small app, that’s a 10x difference on the infrastructure line. When you’re hosting apps for founders who are counting every euro, that gap is the whole business.

Predictable bills. A VPS charges a flat monthly price. The big clouds charge for compute, storage, egress, requests, and a dozen line items that are hard to predict until the invoice lands. Data egress alone is a notorious surprise: moving data out costs real money and it’s easy to forget. Flat and boring beats cheap-looking and spiky when you’re the one explaining the bill.

Less to get wrong. A hyperscaler console is enormous. Enormous means more ways to misconfigure something, and misconfiguration is the single most common cause of cloud data leaks. A plain Linux box with Docker, Caddy, and Postgres is a small surface. I can hold the whole setup in my head. When something breaks at 3am, “small enough to understand” is worth more than “powerful enough for anything.”

Real control over the data. We run our own Postgres, so we control the backups, the point-in-time recovery, the retention, and where the data physically sits. Our servers sit in EU data centers, which keeps EU customer data in the EU without extra contortions. On a managed cloud database you get their backup policy and their restore process, take it or leave it.

The trade-off I’m accepting

Choosing a plain VPS isn’t free, and pretending otherwise would be dishonest.

On a raw VPS, nothing is set up. No managed database patching. No automatic backups. No one-click restore. No support line that fixes your app. All of that is work, and on a bare server that work falls on whoever runs it.

That’s exactly the work Stackbastion takes on. We install and patch the Postgres, run pgBackRest and restic for backups, test the restores, put monitoring in front of it, and answer the phone when it breaks. The saving isn’t “cheap because we skip the hard parts.” It’s “cheap infrastructure, and we do the hard parts ourselves so you don’t.”

If you tried to run a bare VPS yourself without that layer, you’d get the low bill and inherit every one of those jobs. For most non-technical founders that’s a bad trade, which is the whole reason this service exists. There’s more on when self-hosting stops being worth the effort in self-hosting vs PaaS: the real cost.

Why not just use a managed PaaS then?

Fair question. The zero-config app platforms are lovely and they hide the server for you. But you pay a steady premium for that convenience, and you’re still on their backup policy and their limits. We use one ourselves for the static marketing site, where the convenience is worth it and there’s no database to babysit. For the product, where the whole value is control over data and cost, owning the box wins.

The bottom line

We chose a plain VPS because it fits the customer, not because it’s trendy. Low, predictable cost. A small surface I can actually understand. Real control over where data lives and how it’s backed up. EU data centers by default. The price of that is doing the operational work ourselves, which is precisely the thing we’re selling.

If you want to know what that costs you, it’s on our pricing page. No hyperscaler markup, no surprise egress bill, just a flat monthly price for someone keeping your app alive.

FAQ

Isn’t a plain VPS less reliable than a big cloud?

For a single region, a well-run VPS is very reliable. The big clouds win on multi-region redundancy and exotic failure modes, which most small apps never need. Reliability for a small app comes far more from tested backups and monitoring than from which company owns the data center.

Where is my data physically stored?

In EU data centers. That keeps EU customer data inside the EU by default, which makes GDPR a lot simpler than shipping data to a US-owned cloud region.

What if I outgrow a single server?

A single dedicated VPS (from around 40 euros a month) handles far more load than people expect, often more than an equivalent hyperscaler bill several times its size. If an app genuinely outgrows that, we scale it out or move it. Very few small apps get there.

Can I get my app off your infrastructure later if I want?

Yes. We run your app in Docker with standard Postgres, both portable by design. There’s no proprietary lock-in. If you ever want to move to another host or bring it in-house, your app and your data come with you.

Get a free production audit

15-point check, scored report back in 48 hours, free either way.

Start my audit

Get the next post by email

One email when we publish something new. No drip sequence, unsubscribe anytime.

Double opt-in: you'll get a confirmation email before you're subscribed. See our privacy policy.