Live data from Hacker News

Use One Big Server (2022)

specbranch.com

301–310 of 330 posts

Re: Use One Big Server (2022)

#301
post #297

Earlier quoted context omitted.

In 2025 if you need convenience and no red tape you've got fly.io in the general case and maybe Vercel or something on a particular framework (there are some good ones for a particular stack). If your needs go beyond that? Then you need real computers with real configuration and you have OVH/Hetzner/Latitude who will rent you MONSTER machines for the cost of some cheap-ass surplus 2017 Intel on The Cloud. And if you…

(1) How does fly.io reliability compare to AWS, GCP, or maybe Linode or DO? (2) What do you do if your large Hetzner server starts to show signs of malfunction? How soon would you be able to replace it, and how easily? (2a) What do you do when your large Hetzner server just dies? I see that this happens rarely, but what's your contingency plan, if any? (3) What do you do when your load is highly spiky? Do you reserve…

These are great questions.

A key factor underlining all of this is understanding, from a business/organizational perspective, your actual uptime requirements. Google may aim at 5 nines with the budget to achieve it, but many banks have routine planned downtime. If you don't know your objectives, you will have trouble making the tradeoffs necessary to get there. As a hypothetical, would your business choose 99.999% uptime (26 seconds down on average per month) vs 99.99% (4.3 min) if that caused infra costs to rise by 50% or more? If you said we can cut our infra costs by 50% by planning a short weekly maintenance window, how would that resonate?

Speaking to a few, in my experience:

2) (not at Hetzner specifically, but at a dedicated host). You have backups & recovery plans, and redundancy where it makes sense. You might run your database with a replica. If you are serving Web traffic, maybe you keep a hot spare. Also, you are still allowed to use e.g. cloud services if it makes sense to do so so you can backup to S3 and use things like SQS or KMS if you don't want to run them yourself. It's worth noting that you may not get advance notice; I recall our service being impacted by a fire at a datacenter that IIRC was caused by a traffic accident on a nearby highway. The point is you have to design resilience into the system. Fortunately, this is well-trod ground.

It would not be a terrible failover option to have something like an autoscale group at AWS ready to step in if the dedicated cluster goes offline. Keep that cluster scaled to 0 until it's needed. Put the cloud behind your cheap dedicated capacity.

3) See above. In my case, we over-provisioned because it's cheap to do so. I did not do this at the time, but I would probably look at running a replicated database with a hot standby on another server.

4) It has not been my experience that "modern" cloud deployments require fewer SRE resources. Like water running downhill, cloud projects seek complexity.

Re: Use One Big Server (2022)

#302

Earlier quoted context omitted.

Or use SQLite and your backups are literally a copy of a file. You can abuse git for it if you really want to cut corners.

Only if you can freeze your application for that long, in which case your statement is true for all non-broken databases.

You can easily do consistent backup on live databases. There’s a backup command and API.

Re: Use One Big Server (2022)

#303
post #186

Earlier quoted context omitted.

The moment I sign up for a PaaS the bill hurts. I can never get over the fact I can get 1000x more compute for the same price, never mind that I never use it and have to set everything up myself. I’ll just never pay to lock myself in to something so restricted. My dedicated server allows me to do anything I want or need.

If you enjoy playing with servers instead of shipping features, enjoy!

That’s only true if you still have to learn how to deploy to a server. I have the opposite problem. I need to learn how to deploy to these wonky services, and it never seems to transfer from one to the other.

Re: Use One Big Server (2022)

#304
post #210

Earlier quoted context omitted.

> Do you actually think dead simple failover is comparable to elastic kubernetes whatever? References to "elastic Kubernetes whatever" is a red herring. You can have a dead simple load balancer spreading traffic across multiple bare metal nodes.

Thanks for switching sides to oppose yourself, I guess?

> Thanks for switching sides to oppose yourself, I guess?

I'm baffled by your comment. Are you sure you read what I wrote?

Re: Use One Big Server (2022)

#305

Earlier quoted context omitted.

> You know, it's ok to say that you're out of your element and don't have direct experience with the thing you're commenting on. I moved several projects from sqlite to postgres because sqlite didn't scale enough for any of them.

May I suggest you could have been holding it wrong? The out of the box defaults for sqlite are terrible for web apps.

Are you aware of the irony behind saying "You're holding it wrong"? Do you know where that phrase came from?

Re: Use One Big Server (2022)

#306
post #292

Earlier quoted context omitted.

What about the cost of having people actually go to the datacenter to install hardware, and go again whenever there is a hardware problem, possibly resulting in much longer downtimes than with a rented server? Especially for the "one (or a few) big server" scenario in the article, that would seem to me a pretty big factor.

At 1 rack scale you're saving ~20-30k/mo in cloud fees - you can hire an excellent sysadmin in the 12-15k/mo range and they can do a lot more than just go to the datacenter as needed.

But we're not comparing colo to cloud fees, we're comparing colo to renting a server.

Re: Use One Big Server (2022)

#307

Earlier quoted context omitted.

Hetzner also tends to have more modern SSDs with the latest nvme. Which can make a massive difference for your DB.

It's less about the modernity of SSDs and more about a fundamental difference: all persistent storage on AWS is actually networked - it's exposed to you as NVME but it's actually on a SAN and all IO requests go over the network. You can get actual direct-attached SSDs on EC2 (and I'd expect performance to be on-par with Hetzner), but those are ephemeral and you lose them on reboot.

Wow, that's crazy, I was wondering why the numbers I were seeing on AWS were so much worse. I assumed it was the drive modernity. But network makes a lot more sense.

Thanks for the insight!

Re: Use One Big Server (2022)

#308

Earlier quoted context omitted.

Only if you can freeze your application for that long, in which case your statement is true for all non-broken databases.

You can easily do consistent backup on live databases. There’s a backup command and API.

Sure. But then it's not "just a file" copy, like GP said.

Re: Use One Big Server (2022)

#309
post #303

Earlier quoted context omitted.

If you enjoy playing with servers instead of shipping features, enjoy!

That’s only true if you still have to learn how to deploy to a server. I have the opposite problem. I need to learn how to deploy to these wonky services, and it never seems to transfer from one to the other.

I moved from Heroku -> to Render.com in a day, then later Render -> Fly in a couple hours because everything was already dockerized. I’ve never really have to think about my servers on any of these providers, they just run.

Re: Use One Big Server (2022)

#310

Earlier quoted context omitted.

Only if you can freeze your application for that long, in which case your statement is true for all non-broken databases.

It only freezes your application if you've misconfigured it.

If you want to backup your database using just a file copy, you'd better freeze your database if you value your data. Or use a fancy snapshotting filesystem.
Post reply on HN