Yesterday afternoon, I presented a web seminar "What is Desktop Virtualization and Why Hasn't it Taken Over the world?" for O'Reilly Media, the publishers of my book "Virtualization: A Manager's Guide." In spite of the presenter, it appeared that the session was well received. I thought you'd like a quick summary of the 45 minute-long session.
What is desktop virtualization?
Desktop virtualization means different things to different suppliers. For the most part, desktop virtualization is the use of one or more of four different virtualization technologies to create an artificial desktop computing environment.
The four virtualization technologies in use include:
- 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.
- Management of virtualized environments — In the case of desktop virtualization, this means the management of a combination of some of the following: virtual machine software, operating system, application frameworks, applications, database manager, user personalization and/or user data to create a secure, reliabile, movable artificial client system or environment.
Why hasn't desktop virtualization taken over the world?
Each of the desktop virtualization suppliers tends to use a different mix of the four virtualization technologies and pretends other approaches don't exist. This creates confusion. This confusion can be seen as one of the reasons that we aren't all using virtual desktops in our day-to-day computing.
Users of virtualized desktop environments are reaching for different goals (which also tend to direct the selection of virtualization technology). Some are seeking better management and control of local and remote desktop systems. Others are seeking ways to better manage operating system or application installation, operation and updating. Still others are looking for ways to isolate applications and workloads so that updated or changing environments can not have a negative impact on productivity. Suppliers are addressing these different requirements in different ways.
In the case that client systems are encapsulated and then run on a server some where, there is a high initial cost. Server processing, memory, networking and storage devices are more costly than their client counterparts. Moving workloads from relatively inexpensive hardware environments to more expensive server environments can require a greater investment than some companies want to make. Furthermore, unless the network infrastructure was designed with this type of computing in mind, the network may quickly become a bottleneck and slow desktop performance to an unacceptable level.
Although the one-PC-per-staff member approach isn't ideal, it is the devil we all know. Organizations have developed procedures to support this approach. Virtualization technology can be a complex and potentially expensive computer science project. Changing to something different presents several unknowns and IT departments have neither the time nor the money to explore the unknown even if it is arguably better.
Organizations have mobile staff members and simply accessing remote applications, whether they are running on a physical machine, a virtual machine or in the clouds, isn't workable when those staff members are disconnected from the network.
Desktop virtualization in all of its different forms is a very powerful and potentially very useful concept. Organizations really need to have a complete understanding of each of their applications and workloads, their requirements and how they are used by staff, consultants and customers. Only then can the appropriate virtualization approach be selected for each application and group of people. Making the wrong selection can result in increased costs, poor performance, increased complexity and other problems.
Vendors can help in this process. It would be wise to select a supplier that offers all of the different approaches and can help their customers make the most appropriate technology selection and help them develop processes to make the best use of that technology. Although there are many suppliers of desktop virtualization technology, only a very few have a complete portfolio to offer