Skip to content

Comment on Common Server Setups For Your Web Appparent

Comments

Premature high availability does suck, you're right, my bad.

What a strange comment.

  [root@one www]# uptime
   18:06:48 up 794 days,  1:46,  2 users,  load average: 0.32, 0.28, 0.20
Complex does not equal high-availability, simple does not equate low availability.

OS uptime does not equal application uptime. :)

Are you comfortable sharing your application's actual availability? I'd love to throw away my preconceptions about redundancy but I find it hard to believe you can reach five 9s with a single machine.

Most sites and most apps don't need five 9s, and I doubt that OP is saying that a single machine is going to give anyone that.

Must be amazing to have such perfect networking and applications. I've never worked on a project like that before.

You think that's rare?

  uptime
   23:42:22 up 1433 days, 22:56,  1 user,  load average: 0.20, 0.11, 0.03

  [root@twelve ~]# uptime
   23:54:38 up 1425 days,  5:38,  5 users,  load average: 0.07, 0.15, 0.16
That's really not all that rare.

The biggest issue in reliability are hard drives, power supplies, network interfaces and power infrastructure. At least, over the last 16 years of operating a series of websites those have been the main causes of trouble.

Uptime does not say much about service uptime, for instance, if the network uplink on one of those machines is down then the users will experience an outage, having a redundant, multi-data center setup would guard against such a situation.

But that would immediately introduce a whole pile of other problems. For instance, in a multi-master setup it would be quite difficult to recover if the only thing that went down was the peering link between the two data centers, with both locations still accessible from the public internet.

In that situation there is a 50/50 chance that my simple-but-dumb strategy would not even be noticed and a 50/50 chance that we'd be down.

That doens't mean there are no situations where such a distributed setup would be warranted but from where I'm sitting the economy just isn't there.

Having regular hardware is no reason by itself why such hardware could not be reliable, regular applications stacks perform remarkably well and the weak points in networking are just as weak when they are connecting otherwise reliable components across WAN links as when they are connecting outsiders to your co-location facility.

Once you start scaling up and/or out the whole equation changes and you need to invest a lot more into planning and testing your setup. Most people find out that their distributed setup was a little less distributed than they thought it was when the first outage hits them. This stuff is very hard to get right and most companies do not operate at a scale where this is a requirement, nor do they have a 100% uptime requirement. Of course we'd all like to pretend we're that important but that's a nonsense argument, the only way you're going to get to 100% is by spending an infinity of money. Everything can go down.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.