Anytime a new technology becomes popular, a lot of marketing people start falsely using the name of that technology to describe their products. Of course, this leads to a lot of confusion for customers. Unfortunately, this very thing has happened in the server virtualization market.
So, I'm writing this article in hopes of clearing up the confusion. In the first installment, I introduced two often misused and abused terms, server virtualization and operating system (OS) partitioning. In this article, I look at other approaches to physical resource abstraction, trying to foster understanding of when and if they make sense to use, what is really true about them and what is hype.
Application virtualization is based on isolation of single applications from host operating system. In this case, the abstraction is not related to hardware, like in server virtualization, but in file system and other structures (for example the Windows Registry), which are accessed by software calls. In general, application virtualization is a complementary technology to server virtualization.
Applications seem to access operating system structures but their I/O operations are instead intercepted and elaborated by the virtualization layer. Exactly as happens for virtual machines, applications can be fully installed and configured in virtual layers and delivered on any target computer without further intervention.
The benefits of application virtualization can be significant: concurrent installation of conflicting applications, reduced installation times, avoidance of configuration errors and security isolation improvement. All these advantages enhance end-users' efficiency. While the impact of this kind of virtualization on performances is minimal there is an evident limit: applications have to be installed only on supported operating systems.
Several start-ups are competing on this market segment, including Softricity, which pairs application virtualization with the concept of application streaming and which it has just been acquired by Microsoft; and Altiris, which is promoting the technology by offering a free product for personal use.
As it stands today, application virtualization has a great potential and can be used in several scenarios where server virtualization doesn't fit well; but the overall capability to virtualize every kind of software is still unsatisfactory. Several complex applications cannot be virtualized without much effort, and, in some cases it's simply not possible to do it.
In conclusion, I'd say that customers can start implementing application virtualization, but it's too early to standardize the infrastructure on the technology.
Storage virtualization is the most specialized form of virtualization right now. It's not as well defined as the other technologies I've discussed previously.
Virtualizations acts at storage level on various aspects, with the main objective of aggregating spaces in different devices – Network Attached Storage (NAS) and Storage Area Networks (SAN) -- and presenting them to applications as a single location. In this way, companies can add or replace storage blocks without downtime and in a transparent fashion.
The benefits of storage virtualization can be great. Consider the requirements of future generations of server virtualization: data has to be reachable from everywhere, and it can be made available on virtual machines (VMs) with underlying physical hosts.
Even considering the compelling benefits, winning customer interest has been difficult, even for leading vendors in the storage market.
I see two reasons storage virtualization is a hard thing to sell. First of all, different vendors are implementing different technologies and calling all of them the same thing. There's a chronic inability to create a single virtual storage standard that links together devices from different providers.
For most customers storage virtualization is just a way to call a distributed RAID 0 (striped set) feature, without a clear understanding of which part of the infrastructure has to handle it. That's something you cannot even use if you need to change your vendor.
Storage virtualization is still a too-vague concept with too-fragmented offerings to be seriously considered in production deployments,considering data is the most valuable asset of any company.
Every company should be very clear about whether the products they are evaluating are truly virtualization products or just old technologies dressed up as new virtualization technologies. Evaluate carefully, and try to approach virtualization with pilot programs. Don't let the confusion over terminology slow you down too much. Anyone missing this opportunity will lose time, money and the skills foundation needed to survive and compete in the upcoming technological future.