Hacker News new | ask | show | jobs
by pleasecalllater 2362 days ago
Two. The number is two. You always need a backup server :)
2 comments

I used to think that. But there are a couple of notable exceptions at either end of the latency spectrum.

If your latency requirements are slack, then you can get away with one machine, because you can reboot or reprovision it and carry on processing without meet your requirements.

If your latency requirements are tight, you don't have time to fail over anyway, so you might as well run one machine and make sure you can deal with failing to meet your requirements.

This is why I ran Redis on a single server with no failover strategy. Our team spent maybe 15 hours workshopping a handful of other things (redis cluster, sentinels + replicas) before realizing we could spend an hour to have everything sit in a degraded state working around it while Redis itself was fixed. Redis only failed once ever and it took all of an hour to fix it, all during non-peak hours.
Three. So you can do maintenance on one while still having HA.
No, that's still two. You don't do maintenance when you're not awake.
I was expecting a "two is one and one is none" reference. Three keeps the investors happy in my case.
*Sometimes three.

Go back to two when maintenance is done.

This guy SRE-s!