Scalable Internet Architectures
I’ve been reading and thoroughly enjoying Scalable Internet Architectures by Theo Schlossnagle. A few thoughts struck me quite forcefully. First off a lot of the techniques mentioned were quite familiar to us here at Nominet. In particular we are using ipvs in combination with keepalived to perform loadbalancing of a number of our critical public facing applications. Mostly this load balancing technique has performed exceedingly well, though there has been a problem when one of the servers (we run them in pairs) running keepalived died.
I liked the notion that High Availability is a different concept from load balancing, I suspect a lot of people may confuse these terms. The discussion I really liked though, was on peer-based high availability using Wackamole and Spread. Having done a quick straw poll it seems this is not a terribly well known piece of software. This technique for high availability never occurred to me and to my mind it seems a great way of reducing the number of servers you are dependent on in your architecture.
The other thing that stuck in my mind was how often Theo mentions cost of the infrastructure, in some ways I find this surprising in that companies that truly need 24×7 should surely have the resources to obtain expensive hardware, and do those that can’t afford it, actually need it? In the Oracle world there is a lot of talk regarding companies being sold RAC for high availability when they don’t actually need what RAC gives them. In truth a lot of companies can survive being down for a day or so quite easily, they may just not be able to admit this to themselves. There is also an argument that RAC done badly can reduce your uptime.


May 10th, 2007 at 1:41 pm
So when are you going to give us all a presentation on this?
July 2nd, 2007 at 2:23 pm
I bought the book and am currently reading it. It’s really worth it. Thanks for the hint!
July 2nd, 2007 at 3:09 pm
hope it provides some good ideas!
jason.