Jens Frank wrote:
Well, the architecture shown does not increase availability since it adds a single point of failure. Let's assume a server's availability is 90% (It's higher, of course, but numbers will become too ugly for this example). Having one webserver and one database server the overall system availability would be 81%.
Clustering two web servers will increase the web servers availability to 99%. But now the system has three components: Load balancer (90%), Web servers (99%), database (90%). That's a total availability of 80.19%. Oops.
Your assumptions are wrong. The probability of a server falling over in some fashion depends on what's going on in the server. For a busy webserver, falling over is much more likely than for the load balancer.
In my experience, a load balancer setup with good (I mean reliable, speed isn't an issue) hardware doing *nothing* but NAT via iptables will have a huge uptime.
--Jimbo