It interests me that I still encounter business critical web sites with no or only partial redundancy. I was thinking about these issues at the same time as recalling a very amusing film produced by Mel Brooks; High Anxiety; I thoroughly recommend it particularly if you ever liked Alfred Hitchcock, you will note many spoofs on his work in High Anxiety. So what does High Anxiety have to do with web site redundancy? HA!, High availability.
In my experience, over the years, I often encounter web sites with two or more web-CF servers but only one database server, this is not HA nor does it even approach HA. In fact it would be better if things were the opposite, in my opinion. In other words that there were two or more databases and one web-CF server. The main reason I say this is that provisioning a replacement web-CF box, should that single box fail, will be significantly faster than provisioning a replacement database. If you are in the position of having only one database server then I feel you should have very High Anxiety until you have a second database in place, Even if you have active-passive as the format and the license costs can be mitigated. For instance, Microsoft allows a single SQL Server license to be used on two servers providing that only one of those two servers is serving production at any given time, which is exactly what active-passive is. So why is it significantly more difficult to provision a replacement database server; here are some reasons.
- Software Installation/Set Up: Installing SQL Server (for instance) correctly, takes significantly longer than installing ColdFusion (every minute matters when you are down with no service).
- Restoring/Backups: Sadly most back-up regimes I have seen, where no DBA is present or has been present, are inadequate. Configuring database back-up and restore correctly, is a significant task; significantly more difficult than what is required for an adequate regime for web-CF servers. One more point on restores, I strongly recommend they be tested at the very least, monthly so that we are sure it will work if needed. When we back-up a database it is not just the data we need to pay attention to but also the database objects; stored procedures-views etc. Transaction logs are also a key item in backup/restore, they will get back the most recent changes since the last full-incremental back up. With web-CF servers we are typically interested only in what is on the file system along with settings in the web server and ColdFusion server all of which are fairly easy to backup and restore.
For the cost of a few hours expert DBA review relating to the state of your HA infrastructure (and I do mean High Availability here) you could easily save thousands of dollars in lost business or goodwill should your database fail and cost many hours or worse days of downtime. It is money well spent, believe me.
This article was written with the assistance of Clement Huge, whom I have worked with many times and who is truly an entrepreneurial and very talented DBA.