←back to thread

Use One Big Server (2022)

(specbranch.com)
343 points antov825 | 3 comments | | HN request time: 0.61s | source
Show context
runako ◴[] No.45085915[source]
One of the more detrimental aspects of the Cloud Tax is that it constrains the types of solutions engineers even consider.

Picking an arbitrary price point of $200/mo, you can get 4(!) vCPUs and 16GB of RAM at AWS. Architectures are different etc., but this is roughly a mid-spec dev laptop of 5 or so years ago.

At Hetzner, you can rent a machine with 48 cores and 128GB of RAM for the same money. It's hard to overstate how far apart these machines are in raw computational capacity.

There are approaches to problems that make sense with 10x the capacity that don't make sense on the much smaller node. Critically, those approaches can sometimes save engineering time that would otherwise go into building a more complex system to manage around artificial constraints.

Yes, there are other factors like durability etc. that need to be designed for. But going the other way, dedicated boxes can deliver more consistent performance without worries of noisy neighbors.

replies(11): >>45086252 #>>45086272 #>>45086760 #>>45087388 #>>45088476 #>>45089414 #>>45091154 #>>45091413 #>>45092146 #>>45092305 #>>45095302 #
Spooky23 ◴[] No.45089414[source]
It really depends on what you are doing. But when you factor the network features, the ability to scale the solution, etc you get alot of stuff inside that $200/mo EC2 device. The product is more than the VM.

That said, with a defined workload without a ton of variation or segmentation needs there are lots of ways to deliver a cheaper solution.

replies(1): >>45089477 #
troupo ◴[] No.45089477[source]
> you get alot of stuff inside that $200/mo EC2 device. The product is more than the VM.

What are you getting, and do you need it?

replies(1): >>45089746 #
throwaway7783 ◴[] No.45089746[source]
Probably not for $200/mo EC2, but AWS/GCP in general

* Centralized logging, log search, log based alerting

* Secrets manager

* Managed kubernetes

* Object store

* Managed load balancers

* Database HA

* Cache solutions

... Can I run all these by myself? Sure. But I'm not in this business. I just want to write software and run that.

And yes, I have needed most of this from day 1 for my startup.

For a personal toy project, or when you reach a certain scale, it may makes sense to go the other way. U

replies(4): >>45090159 #>>45090268 #>>45090516 #>>45094149 #
doganugurlu ◴[] No.45090159[source]
You need database HA and load balancers on day 1?

You must be doing truly a lot of growth prior to building. Or perhaps insisting on tiny VMs for your loads?

replies(2): >>45090357 #>>45103423 #
1. throwaway7783 ◴[] No.45103423[source]
HA is for availability. I don't want downtime for my enterprise customers. Are your customers okay with downtime? And as soon as you have more than one nodes, you need some kind of a load balancer in the front.
replies(1): >>45117811 #
2. rcxdude ◴[] No.45117811[source]
In practice, until you're at a certain scale, software bugs are more of a threat to your availability than hardware failures or maintenance downtime, and the cloud does nothing for you there (in fact, the additional complexity is likely to make it worse). Modern hardware is pretty reliable, more so than a given ec2 instance, for example.
replies(1): >>45132464 #
3. throwaway7783 ◴[] No.45132464[source]
Often, software bugs cause issues with machines (uncontrolled logging overwhelming disk space and killing everything, instead of objectstore absorbing it, or a memory bug that kills the process over a few days and needing manual or custom monitoring scripts instead of k8s handling this until its root caused, and so on)