Have you found yourself wondering what's wrong with all of the marketing mavens out there in virtualization land? It seems that everything is virtualization and nothing is virtualization.
Over the years, I've developed a tool or a model that has helped my clients better understand all of the layers of virtualization technology so that they could sort out what would be useful and what doesn't fit in their world (or their network for that matter).
As you might expect, this model has been the foundation for much of the commentary offered here. Several readers have asked for a more graphical view of this model and a quick description of what each layer of the model does to help organizations leap from the mundane world of hardware and software into the illusionary world of virtualization. Since we just live to serve, here's the tool displayed as a graphic.
There are many layers of technology that virtualize some portion of a computing environment depending upon whether the organization is seeking performance, reliability/availability, scalability, consolidation, agility, a unified management domain or some other goal. Let's look at each of them in turn.
- Access Virtualization — hardware and software technology that allows nearly any device to access any application without either having to know too much about the other. The application sees a device it's used to working with. The device sees an application it knows how to display. In some cases, special purpose hardware is used on each side of the network connection to increase performance, allow many users to share a single client system or allow a single individual to see multiple displays.
- Application Virtualization — software technology allowing applications to run on many different operating systems and hardware platforms. This usually means that the application has been written to use an application framework. It also means that applications running on the same system that do not use this framework do not get the benefits of application virtualization. More advanced forms of this technology offer the ability to restart an application in case of a failure, start another instance of an application if the application is not meeting service level objectives, or provide workload balancing among multiple instances of an application to archive high levels of scalability. Some really sophisticated approaches to application virtualization can do this magical feat without requiring that the application be re-architected or rewritten using some special application framework.
- Processing Virtualization — hardware and software technology that hides physical hardware configuration from system services, operating systems or applications. This type of Virtualization technology can make one system appear to be many or many systems appear to be a single computing resource to achieve goals ranging from raw performance, high levels of scalability, reliability/availability, agility or consolidation of multiple environments onto a single system.
- Storage Virtualization — hardware and software technology that hides where storage systems are and what type of device is actually storing applications and data. This technology also makes it possible for many systems to share the same storage devices without knowing that others are also accessing them. This technology also makes it possible to take a snapshot of a live system so that it can be backed up without hindering online or transactional applications.
- Network Virtualization — hardware and software technology that presents a view of the network that differs from the physical view. So, a personal computer may be allowed to only “see” systems it is allowed to access. Another common use is making multiple network links appear to be a single link.
- Management of virtualized environments — software technology that makes it possible for multiple systems to be provisioned and managed as if they were a single computing resource.
Each of these technologies has been available in data centers in one form or another for nearly 30 years. What's exciting and new is that this technology is increasingly available for industry standard, high volume systems and operating system software.
Does this segmentation help? Do you think that there are areas of virtualization that require a new category?