Monday, March 12, 2007

Redundant Servers - Step Away From That Ledge, and No One Gets Hurt

Redundant Servers. Seemed like a good idea at the time. But are they still?

(Note: this post refers to the use of redundant servers in a license management system, similar to, say, FLEXlm(R) from Macrovision.)

To answer that question, we have to step back to 1988. Do you remember 1988? Back then, PCs ran DOS. Unix was the Next Great Thing. And disk drives and systems failed - and stayed down for days at a time. Hard to imagine now. Well, that was the environment when I designed redundant servers for FLEXlm.

It was a good idea at the time. I don't think anyone would question that. No one wanted to put all their licenses on a system that might be down for a couple of days at a stretch. In fact, no one even wanted to split their licenses across a few servers where one might be down for several days.

But there was a cost. Instead of managing one server, you were now managing 3. (The original FLEXlm design allowed for up to 11 redundant servers, but we pared that down to 3 very quickly!)

And it was easy to mis-configure your license servers and end up with no redundancy - for example, by NFS-mounting a license file from a single file server that all 3 servers would read, in order to simplify configuration. Of course, this leaves you with a single point of failure, which completely defeats the purpose of redundant servers. Another more subtle way to defeat redundancy is to have all 3 servers writing log files to the same filesystem. In short, it was fairly easy to make a small mistake and have no redundancy as a result. Most of the work and none of the benefit.

But times have changed. It's now rare to see a system down for days at a time. I maintain that redundant servers long ago outlived their usefulness. Today, partitioning licenses across 2 or more servers prevents total loss of licenses in the event of license server hardware failure, and simplifies administration.

It's like the old joke: Patient: "every time I smash my head against the wall, it hurts". Doctor: "don't do that."

Redundant servers - their time has long passed.