A Practical Illusion. That's how I describe virtually anything virtual. And I think it's time we faced this reality in order to get used to the implications of virtualization, cloud computing and all of these other wonderful fictions.
Now, don't get me wrong: I'm not saying there's anything undesirable about this - we all need our illusions. And in the case of virtualization, which had its first seriously practical manifestation on the mainframe, it's a dynamic perspective that simplifies the architecting, running and managing of a complex environment.
But let us never forget that there's an underlying reality here: your programs and data are always stored somewhere, and whether they be moved between memory and DASD or have their addresses dynamically translated, there is no moment when they cease to exist anywhere in a real, discrete, concrete computing environment.
That means a lot of important things, the first of which is: you can't virtualize beyond the physical capacity available. Sure, you can add disks and run more work if you don't mind having most of it swapped out most of the time. And you can add servers to run more work in parallel, as long as you don't expect to lift the ceiling of performance beyond the capacity of the largest individual server.
Which brings us back to the origin of serious virtualization: the mainframe, with the highest ceiling and the broadest capacity for multiple concurrent workloads, enabling fast sharing of data, the ability for the valleys of some workloads to match the peaks of others, and the ability to run at up to 100% capacity without degrading performance.
In other words, as I look to the cloudy skies and the future of virtualization, while others see so much abstraction that they can't tell which platform their workloads are actually running on, I see a natural selection of the one platform that has proven it can weather such precipitous advances.