OK, I've been in this business too long: The first time I hear a new, impressive-sounding IT buzzword, I flinch.
Part of my problem is that I've seen way too many stale old ideas rebranded by slapping fancy labels on them, an effect that often seems to happen about every four years. My suspicion is that four years is the optimal time for suckering a new generation of buyers fresh out of college into thinking they are getting something new. I still recall diving into a supposedly semi-autonomous "agent-based application" and discovering that its "agents" were actually nothing more than calls to ordinary functions.
I've also seen too many cases where a single-vendor idea that succeeds in a narrow market niche gets generalized into a "trend" that then is applied blindly whether it works or not. Gartner has labeled this kind of overgeneralization the "Hype Cycle," for good reason. When good ideas are generalized by those who do not understand their original context, they seldom work well, and in the worst cases they can turn into truly spectacular IT disasters.
Thus it when I first heard the term "virtualization" some time ago... I flinched. My thoughts went something like this:
"Yeah, right. Sounds to me like someone borrowed an impressive computer science word to help sell a product that will end up sitting on a shelf in the IT room. And by the way, isn't 'virtual' pretty much a synonym for insanely slow? The kind of stuff that they show in demos in university labs, but which in the real world would bring even the largest data center down to its knees?"
So what, one might well ask, was this curmudgeon's reaction when I picked up a copy of Bernard Golden's book, "Virtualization for Dummies"?
Somewhat to my own surprise, it was favorable. I found the book to be both solid in approach and highly relevant to the situation in which many service providers, large and small, find themselves these days. However, if someone asked me to pick a title that I thought more accurately describes the contents and purpose of this book, I would have suggested something like this:
"How to Stay Profitable While Your Service Market Goes Nuts"
or perhaps if focusing on LAN admins:
"How to Stay Employed While Users and Budgets Are Both Exploding"
That is, this entire book is a practical, step-by-step instruction manual on how to get the most out of your installed hardware, even as the assumptions that guided the original procurement of that hardware seem to be flying out the window. You can call that virtualization, I guess, but in my mind "preserving one's own hide" would seem a bit closer to the mark.
The term "virtualization," in case you are as baffled by it as I once was, is computer-speak for using clever software (and often hardware) to make more effective use of your existing servers. The implication is that previously dedicated servers become "virtual" servers for entirely new sets of applications and users.
Those other users typically will be the cranky ones whose most beloved application has become slow and unreliable as of late. By using virtualization, you may even convince them that you forked over money for a new server, when all you really did was "virtualize" an old one that had been badly underutilized.
What's really nice about "Virtualization for Dummies" is that Golden works hard not to play "magic wand" with this technique. He emphasizes that it requires hard work, a lot of planning, and careful selection of options. He also points out that it doesn't apply in every case, and that if you don't stick to it, you may end up right back in the same sticky spot from which you started.
Golden provides a detailed, easily understood checklist approach for determining virtualization is even relevant for you, a question that too many advocates of this or that technology often seem to neglect entirely. He also runs the reader through the many different types of virtualization and how their benefits differ, again with a focus on helping the reader understand what is mostly likely to be suitable for a specific situation. The reader comes aways at the same time with a better feel for which approaches might actually make a situation worse instead of better.
What I like most about Golden's book, though, is that if you take it seriously, it begins to change your entire outlook on how to provide services. You can look at the klutzy mix of hardware and locked-in applications there now, and begin to see the potential over time for something very, very different: a suite of hardware that is remarkably uniform, yet still capable of addressing the unique needs of all users. Those users may even experience the unique feeling that for a short time the entire capacity of your server bays has been focused onto their unique needs. And it may even be true!
This is a future that makes a lot of sense, and Golden's detailed discussions of software and hardware already in use makes you realize that it is a future that is most definitely obtainable.
For the nearer term, Golden helps readers identify cases where specific virtualization techniques could make a difference quickly. He describes a range of specific tools, and describes how they fit into the overall virtualization problem. Some of these tools are powerful, cheap, and even free. In the right situations they can enable significant virtualization without requiring any new acquisitions. That potential alone makes virtualization a topic worth exploring, and Golden's book provides an excellent, practical path for understanding this topic.
So, my bottom line: I recommend this book highly for anyone who is frustrated by having to deal with hard-to-control, highly heterogeneous server environments, and who wants a better approach. Golden provides that approach, and he does so in a way that is readable, practical, and above all, doable.