"Virtualization" is an old concept in computer science. You can have virtual memory, virtual LANs (VLAN), virtual private networks (VPN), virtual PCs (VMware and Xen), virtual tape libraries (VTL). When the first graphical user interfaces were invented, each window on the screen was called a virtual terminal.
These are all examples of virtualization, yet they are unrelated in terms of what problem they solve, who they are for, or how they work. And so it is with "storage virtualization." By itself, the term gives you no hint about what it is or what it does, except that it will apply this concept of virtualization—whatever that is—to storage.
So what exactly is virtualization? It's when you convert the physical reality that you are stuck with into some virtual reality that you wish you had. Consider VMware or Xen. The reality is that you only have one PC, but you wish that you had 10, and VMware makes it magically appear that you do. Consider a VPN. You wish that you had a private, secure wire from your PC at home to the network at work. The reality is that you just have the public internet, but VPN software uses encryption and tunneling to give you the illusion of a private, secure wire. Virtualization is always about creating an illusion, faking-you out, showing you something that isn't really there. Put bluntly, virtualization is about lying to the user.
My favorite metaphor for virtualization is the scene in The Wizard of Oz where the giant flaming face of the Wizard says, "Ignore the man behind the curtain! The Great and Powerful Oz has spoken." The virtual illusion is that Oz is a giant flaming face, but the physical reality—revealed by Toto when he pulled back the curtain—is that Oz is a frail old man. This metaphor shows that you must have a sufficiently solid "curtain of virtualization", or else physical reality may intrude awkwardly into the illusion you are trying to present.
In storage, RAID is a form of virtualization. It converts unreliable physical disks into virtual disks that never fail. When a disk fails, RAID creates the illusion that it is still there.
LUNs are a form of virtualization. They look exactly like a disk drive, and can be used by any application that talks to disk drives, but they are constructed by chopping real disks into pieces, and then gluing those pieces together. LUNs can be smaller than real disks, bigger than real disks, and—with appropriate striping—faster than real disks.
Thin provisioning is a form of virtualization. The user thinks he has a 100 gigabyte LUN, but the storage system only consumes 40 gigabytes to create that illusion.
These examples virtualize disk drives, but you can also virtualize at the layer above the storage system. Products that virtualize above the storage system include EMC Invista, NetApp V-Series, Hitachi TagmaStore, Rainfinity, Acopia and NeoPath. All are called "storage virtualization", but they operate differently and solve different problems. Some virtualize NAS, some virtualize SAN, some completely hide the storage system behind them, others add a layer of additional capability.
To me, categorizing products according to whether or not they use virtualization is about as useful as categorizing them according to what programming language they are written in. That may be an interesting detail to some technically minded customers, but for most customers the focus ought to be about what problem you are solving.
The great and powerful Oz has spoken.


Comments