Website high availability on a shoe string budget
Up until now, if you wanted HA for your website, you would have to dish out few thousand to get your HA environment set up properly. This required several dedicated servers and a Load-balancer (e.g. F5), which in itself costs upwards a few thousand dollars to purchase. Let's not forget the license fees as well as the support maintenance contracts that are involved in purchasing the enterprise grade appliances. Most small business owners and developers may not necessarily have the capital to maintain such a complex infrastructure and up until a few years ago the only solution was to outsource this implementation with a managed service provider that could accommodate it.
I am all for the multi-thousand dollar implementation that will guarantee 99.9999% uptime but what about the up and coming websites that aren't equipped with the budget to get this accomplished? In a world where cash is king, it seems that the potential of these websites is often ignored and put past recognition because they don't have the capital. Companies like Rackspace want you spend money for their services, rightfully so, but it would be nice if they could offer something that would get you started, right? Wrong! Unfortunately, these companies have grown beyond that point, and they've outgrown the need to cater to any of the individual and small business markets.
Right, so let's get on with my shoe string budget that won't break the bank! The first thing you have to recognize is that my definition of a "shoe string" budget differs in leaps and bounds by yours. The goal for this project, was to keep the monthly maintenance fee under $180 per month for my website.
- VPS container running CentOS 64bit with MySQL (database server) - $10 - 30 per month
- VPS container running CentOS 64bit with Apache * 2 - $10 - 30 per month
- VPS container running CentOS 64bit with LiteSpeed Load-Balancer from LiteSpeed Technologies - $32.00 + $65.00 license lease from LiteSpeed Technologies.
There is a well documented tutorial to get you started with LSLB: http://www.wowtutorial.org/tutorial/80.html once you have the virtual servers above, you can deploy your environment successfully. The beauty of this implementation is that you can expand over several geographical locations. The downside is that you'll have a single point of failure, which is your LSLB server. However, you can still work around this with DNS round robin and a secondary LSLB server. You also have to set up a bash script to rsync (or FTP sync for Windows) to replicate your website bits over to the other server, or you can do it manually by refreshing the bits on each server.
This is not the defacto for website availability. There are several more elegant ways to setup HA but, this would be a good start!








