Dan Kusnetzky’s new book “Virtualization: A Manager’s Guide” is subtitled “Big picture of the who, what, and where of virtualization”. The book’s ISBN is 9781449306458. Its website is at http://oreilly.com/catalog/9781449306458/ I have read the book. My background is programming, system, network and database administration. I have some virtualization software experience but I am not nearly an expert. I was attracted to the book because its an Oreilly and because I liked my time spent on the author’s blog at: http://www.kusnetzky.net/analysts-take/.
Oreilly books usually contain a warning section, something like “Expected Audience”, that I always read to find out if the book is right for me (is it too easy or too hard?). This book’s “About This Book” section says: “This book is intended to introduce managers…to the concepts behind virtualization technology” and “It is not meant as a how-to guide for IT analysts, developers or administrators”. That warning is about right–this book is not for me and its not for techies. But the book is easy to read in a very short amount of time (a great thing, in my opinion) and so I read it anyway. I read the whole book in less than a day. There are not any good books on virtualization for managers and so this might be the best one available. We still need a good virtualization book somewhere between this one (too vague) and Oreilly’s “VMWare Cookbook” (too specific). This book is an easy-to-read primer for managers who need to know more about virtualization. Cloudy reading (like what you’ll find at the author’s blog at http://www.kusnetzky.net/analysts-take/) will be clearer after reading this book. Technology people will find this book too simplistic and should avoid it.
Chapter 1 discusses all of the layers of virtualization. The biggest problem in virtualization is terminology. It is the Pacific Ocean of buzzwords. Sometimes the book helps clear up the mess and other times it doesn’t. A glossary would have been nice so that PaaS, SaaS, etc could get pinned down. Chapter 1 shows us Fig. 1-1, “The Kusnetzky model of virtualization”, which shows the layers of virtualization:
The model may be okay but I don’t like the graphic in Fig 1-1. Its not clear why the layers are stacked, why they are in the order they are in, and why two layers, security and management, are shown as vertical layers. (Wait until Chapter 7 when the author tells us that the vertical layers, security and management, are vertical because they “protect and manage all the other layers”). Perhaps I’m trying to read too much into the graphic or perhaps the author should offer more explanation. Its not made clear why we should think of and break down virtualization into “layers”. What the author refers to as “layers” of virtualization seem (to me) more like types of virtualization. In any case, the strength of this model (and its graphic) is that it fixes a framework for the whole book. Each layer gets its own chapter, starting with “Access Virtualization”. The framework is a good thing. It cleverly compartmentalizes virtualization, which otherwise tends to get minestrone-soup-like in your head.
Chapter 2, “Access Virtualization: Providing Universal Access”, has the same structure as every chapter. Each chapter concentrates on one layer of virtualization. And each chapter has these sections:
What is _______ virtualization?
What does _______ virtualization do?
When is _______ virtualization the right choice?
Players in the _______ virtualization world.
A few examples of _______ virtualization in use.
By breaking each layer of virtualization down into these categories, the author has done us a great service. Because of this rigidity of structure, the book can be used as a reference. Do you want to know who the big players are in storage virtualization? No problem, just find the chapter on Storage Virtualization and find the “Players in” section. This structure also makes for easy reading and easier remembering. Imposing this organization on the book was a great idea. When the author tries to define terms, like “access virtualization”, he usually misses. The first section of Chapter 2 is called “What is Access Virtualization”. But we never get an answer via a definition. The closest we get is “Access virtualization hardware and software are designed to place access to applications and workloads in a virtual environment.” There are too many fuzzy-wuzzy definitions of terms throughout the book. The author does answer the question “What is Access Virtualization” with examples. Most chapters tend to be weak on definitions of terms but strong on examples. Chapter 2 offers a classic example: “X-Windows…is another early example of access virtualization”. Anyone who has used X to display a program locally that is actually running on another PC instantly knows what access virtualization is. I was surprised to see several access virtualization technologies not get any mention in this chapter including: Windows’ Remote Desktop Client, VNC, Apple’s Screen Sharing, even ssh/telnet fit the basic access virtualization idea of type-and-mouse-here/run-elsewhere.
Chapter 3, “Application Virtualization: Application Isolation, Delivery and Performance”, cleanly chops the concept into two varieties:
We also get a good jump conceptually by building on what we already know from Chapter 2 when the author tells us, “The major difference between access virtualization and application virtualization is that a portion, or perhaps all, of the application actually runs on the local device rather than on a remote server”. We hear only a little bit about thin clients, unfortunately. Many IT managers have bright dreams about the future of thin clients and many also have bitter memories of the many thin client disasters of the past. Of disasters, I can remember Sun Microsystems’ Sun Ray. These little guys were going to be great. They weren’t.
Chapter 4, “Processing Virtualization: Doing System Tricks”, again fails to define what processing virtualization actually is. The description in the section “What is Processing Virtualization” tries to lasso too many things under one umbrella. We would probably be better served if we just stuck with saying that processing virtualization is “Making one machine appear to be many”. It is curious that the author spends time talking about “Making many systems appear to be one” in this chapter. Most deployments using many physical systems to appear as one system are not using virtualization software–they’re using DNS, routing, tiers and light-footprint high-availability/load-distribution/clustering software or hardware. Most readers of “Virtualization, A Manager’s Guide” are probably trying to run many virtual machines on a few physical machines. Machines nowadays are too powerful to give every server its own physical machine. Managers want to replace racks of machines with a couple of PCs hooked up to a speedy and spacious disk array. This segment of the virtualization scene should have received more coverage in this chapter.
Chapter 5, “Network Virtualization: Controlling the View of the Network”, should be skipped entirely. According to our author, Network Virtualization “provides the following functions”:
Network address translation
Really? All this time I thought that was done by switches, routers, firewalls and TCP/IP. There may be such a thing as network virtualization, but you won’t learn about it in this chapter.
Chapter 6, “Storage Virtualization: Where are your files and applications”, gives us very basic (good for managers) information about storage hardware technologies. The author only mentions five “players” in storage virtualization, all giants with no mention of Dell. There are dozens of hot storage hardware and software players that managers-without-billions will want to look at including: Tintri, Arkeia, AC&NC, nexenta, dothill, ramsan, storform, Amazon, CDNs, JBODs-with-LVM, Cassandra, Hadoop, MongoDB. The author might have reminded managers that the worst performance/price mistakes are made in the area of storage management.
Chapter 7, “Security for Virtual Environments: Guarding the Treasure”, and Chapter 8, “Management for Virtual Environments”, are mostly aimed at enterprise-level (NASA/Exxon) managers with tons of servers, applications and hardware. In both cases, the list of “players” is again missing some of the smaller vendors.
Chapter 9, “Using Virtualization: The Right Tool for the Job” and Chapter 10, “Summary”, consolidates and mixes in lots of the technologies and concepts from the previous chapters.
If you are a manager of a data center and you need to know more about virtualization, this book is an easy read that will help you communicate with your system administrators. It will also help you understand more of the articles on the author’s excellent blog.