Friday, 13 November 2009

Linux HA: About to Explode?

HA or High-Availability is a term used to refer to making your services more available than they currently are. If you have a web site on a server you can reasonably expect 99% uptime, making it highly available means upgrading that uptime from 99% to 99.9%. Linux-HA is now easier than ever to implement, I'll describe how and why here.

Every business that depends on their applications will either be running some form of HA or be waiting for the poo to hit the fan. This is a given, people expect reliability these days and any computer system downtime - whether it be a database, a web site, an intranet etc. - is bad news. Many technology providers have their own form of HA and this can take many forms including boxes that sit in front of servers, application level HA or network level HA.

For example:

Microsoft provide a form of HA in their .net/SQL stack but push it to the application to provide the failover capabilities. This is done by putting a 'Failover partner' in the web.config of a .net web site connecting to SQL server then setting SQL server to do database mirroring. While this is fine in the closed-loop of Microsoft development, it doesn't allow any freedom to pick and choose your stack, and it's also relying on the application being still there so you will still need a method of making your front end web site more available. To use differing vendors and technologies in your application you need to push the High-Availability to the network level and not the application level, something that you can't do easily with Microsoft technologies.

Linux therefore has a decent advantage over Microsoft in this particular segment. Added to the advantages that the traditional (but now loosely termed) LAMP stack gives you it can be a very cheap, efficient solution to use HA technologies with Linux. The only issue up until now has been that it's been very difficult to pick up and learn, documentation was confusing and required a good understanding of what you were looking at. That's all changed very recently with the advent of Pacemaker and the excellent clusterlabs web site. It still subscribes to the Linux nuts n bolts DIY route but now it's a whole lot easier and you have good support while doing it.

Next post I'll show how to do it, what you can do and show you where to go from here.