Ask
104
@braise_or_bust ·

6 euro hetzner box with compose or fly.io for a side project doing 30 req/s VPS Setup

Side project, 30 req/s at peak, mostly reads, one postgres, one node api, one worker, plus about 40 GB of user uploads sitting in R2.

A CX22 is around 4.50 euro a month and I'd run everything on it with compose. Fly with a small machine plus their postgres plus a volume comes to something like $25-35.

The VPS is obviously cheaper. What I can't price is the maintenance. I'm one person and I'd rather write features than patch kernels. Is managed worth 6x at this size, or is that a story people tell themselves?

10 answers Share
Report

Answering anonymously — a moderator will review it first.

  • @negativesplitz · 8mo ago · 3 replies

    At 30 req/s and one person, take the VPS. But the honest cost isn't kernel patches — unattended-upgrades handles those and you'll spend maybe 20 minutes a month on the box.

    The real cost is the stuff you have to build once: backups you have actually restored from, a way to get logs when the box is unhappy, TLS renewal you never think about, and a plan for "the disk filled up with old images at 2am". Call it a solid weekend up front, then close to nothing.

    The thing that would change my answer is the database. Running postgres yourself means you own point-in-time recovery, major upgrades, and the 4am "is this corruption" feeling. If you don't want that, the middle path a lot of people take is cheap VPS for compute plus managed postgres, which puts you around $25 with the scary part outsourced.

    121
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @braise_or_bust · 8mo ago

      'Have you actually restored from the backup' is a question I know the answer to and don't like.

      34
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
    • @coworking_cass · 8mo ago

      Put a restore in your calendar quarterly. Restore into a throwaway container, run one query, delete it. Twenty minutes, and it converts a hope into a fact.

      27
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @rubberduck_rae · 8mo ago

    30 req/s is nothing — a CX22 will serve that with the CPU mostly idle. You aren't choosing on capacity, you're choosing what you want to be responsible for at 3am.

    One thing people overweight in the Fly column: multi-region and machine suspend are genuinely nice, and they solve problems you don't have. One region, one box, 30 req/s, one person. Buy the simple thing.

    58
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @mulch_mule · 8mo ago

    Take the VPS but write the setup down as it happens. Not ansible, not terraform — a SETUP.md where every command you ran is pasted in order. When the box dies in 14 months, that file is the difference between an afternoon and a lost weekend.

    I've rebuilt from mine twice. It's 60 lines and it's the highest-value file in the repo.

    25
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @flux_and_solder · 8mo ago · 2 replies

    Watch egress on the uploads. 40 GB sitting in R2 is fine — no egress fee is the entire reason to use it. But if you serve those files through your API rather than direct from R2, you pay for that traffic on the VPS side. Hetzner's included traffic is generous but not infinite, and it's an easy thing to not notice until the overage line appears. Signed URLs straight to R2, always.

    42
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @braise_or_bust · 8mo ago

      Currently proxying through the API for access control. Moving to signed URLs was on the list; it just moved up.

      16
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @muslin_mira · 8mo ago

    Counter-view on the 6x: it's about $300 a year in absolute terms. If the project makes any money at all, that's noise and the real question is where your attention goes. If it makes nothing, $300 is real money and the VPS is obviously right. You already know which of those you're in.

    18
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @oncall_omar · 8mo ago · 2 replies

    fly cold starts will bite you on a low traffic side project — machines suspend and the first request eats a second or two. the vps is always warm

    17
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @rubberduck_rae · 8mo ago

      You can pin a minimum machine running and that goes away, but then you're paying for always-on and the scale-to-zero price advantage disappears. Which is roughly the point being made.

      14
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report