There is no doubt that virtualization has completely changed the way we look at computing, especially on the data center side of the equation. At first we spent our time using virtualization to reduce server sprawl by initiating server consolidation. But then we found that virtualization allowed us to do a lot more than server consolidation. With advanced products like VMware vSphere, we can take advantage of cool technologies such as automated resource management, high availability, automated power management, and site recovery. Virtualization in the server rooms has enabled levels of high availability and uptime that we could hardly dream about in an all physical server world, and allow us to do it at a fraction of the price.
What about Client Virtualization?
While most of us are aware of the advantages of virtualization in the data center, what about virtualization of the client infrastructure? For those of us who have been in the virtualization game for a long time, we know that client side virtualization started the entire ball rolling on the x86 platform. VMware Workstation allowed us to run virtual machines on our desktops for testing and development. Other solutions similar to VMware Workstation have become available and have found their own “point” use case scenarios. But is there anything new and ground breaking on the client-side virtualization side?
In fact, client virtualization is taking place in the data center now. VMware refers to this as Desktop Virtual Infrastructure or DVI. Other vendors have similar solutions. The goal with DVI is to host full desktop operating systems on a virtual server or virtual server cluster in the data center. Users then connect to their desktops using a remote display protocol such as RDP.
The advantage of DVI is that all the desktop operating systems are hosted in the data center and the IT department can manage them from a single management interface and not have to worry about access issues when the OSs are hosted on individual client hardware. On the end-user side, there is the advantage of personalization; users feel like the desktops are their desktops and they can personalize them to the extent that IT will allow them.
The Problems with VDI
However, there are some major problems with VDI. What happens when users can not connect to the data center? What if the user needs to travel outside of the corporate network? What happens to performance when users connect from low bandwidth environments? And what happens to productivity when users can not connect at all? VDI suffers from the same limitations as conventional terminal services deployments – they are hamstrung by network connectivity issues.
Network connectivity is not the only problem with VDI.
IT managers are often attracted to VDI because they see potential cost savings from being able to use thin clients to connect to the VDI infrastructure servers. What these IT managers do not think about is what the back end costs are going to be. You need to build out the data center to support VDI. You need the server compute power, you need the storage infrastructure and you need to bolster the back end network infrastructure to support the VDI solution. In many cases you end up putting so much money into the data center and networking core that any savings realized by buying low-cost thin clients evaporate when you get the bill for the infrastructure build up.
There are also issues. Your users have been accustomed to highly responsive and performant desktop and laptop computers. When you move them to a VDI solution, they will find that applications do not respond as quickly and performance suffers due to the fact that they are sharing the compute infrastructure with many other client systems. The end result is often less productive, dissatisfied users.
Does this mean that virtualization has no place in a client computing infrastructure? Of course not, there are some scenarios where VDI is the right solution. For example, task based workers who are always connected to the corporate network are good candidates for VDI. Most scenarios where users do not require much compute or video performance will benefit from a VDI solution.
Problems creep in when users need to do more than simple data entry. What about your power users, your information workers, and other users who need the raw compute and graphics processing power that only a full client solution can provide? Are there client computing solutions that allow you to take advantage of virtualization while giving uses the performance and responsiveness users demand?
Dynamic Virtual Computing (DVC) Comes to the Rescue
The answer is yes – there are several client side virtualization options that give you the management advantages of client side virtualization while providing users the performance, responsiveness and personalization advantages they desire. As a collection, these are known as dynamic virtual clients who take advantage of dynamic virtual computing or DVC.
DVC allows you to put the virtual client OS on full function client hardware but retain the management and control features you have with VDI.
Example of DVC include:
Remote OS boot – in this model, the client computer boots the OS from an iSCSI SAN. The client system might not have a local disk, but it has the same processor, memory and graphics capabilities as any other fully equipped client system
OS Streaming – the OS streaming solution allows client computers to stream an operating system from an OS streaming server. Client systems are provisioned with powerful processors, memory and graphics adapters, just like the systems your users are accustomed to using. However, there is no disk and the OS is held in memory.
Virtual containers – in this model IT managed virtual machine(s) are contained on the client system. The virtual containers (virtual machines) can be running on a type 1 or type 2 hypervisor. The virtual machines are managed by corporate IT and users can run corporate applications from these virtual machines.
Application streaming – application streaming can work with any of the DVC models discussed above. Application streaming allows IT to stream applications to the client system, so that the applications do not have to be installed on the client system. This allows IT to control updates and patches to the applications, and to control who and when applications can be accessed.
Application virtualization – application virtualization allows IT to deploy applications to client systems that might be incompatible with each other. Applications execute in a virtual “sandbox” and are not susceptible to incompatibilities with other applications. Application streaming and application virtualization are often used at the same time.
Remote OS boot and OS streaming provide the client side performance and responsiveness users need, but they suffer from the same limitation as VDI – they’re dependent on network connectivity. However, there will be a time in the future when OS streaming will allow for client side caching. When that happens, OS streaming will be more like the virtual container option.
When looking at the DVC options, it seems clear that the solution that gives both IT and end-users the most of what they both want is the virtual containers solution. With virtual containers you can take advantage of the processing, graphics and personalization options end users want, and you get the management and control features that IT needs. DVC with virtual containers enables both IT and end-users the greatest flexibility and control, so that users stay productive more often and take advantage of everything a full client system with powerful processing and graphics has to offer.
What Does Microsoft Have to Offer?
Given that I am writing this for Windowsnetworking.com, I figure it would be important to discuss what Microsoft has to offer in the DVC space. Microsoft actually has quite a bit to offer here. Consider the following:
Starting with Windows 7, Microsoft will offer Windows Virtual PC with every version of the Windows 7 operating system.
If you have Windows 7 Professional, Windows 7 Enterprise or Windows 7 Ultimate, you also get to take advantage of Windows XP Mode.
You can use Microsoft Enterprise Desktop Virtualization (MED-V) to turn Windows XP Mode and Windows Virtual PC into a centrally managed enterprise client side virtualization solution
You can further increase the advantages of centralized management and control for the Windows Virtual PC virtual machines by adding Microsoft Application Virtualization (APP-V)
Windows XP Mode, which is included in certain versions of Windows 7, allows you to install a fully licensed Windows XP virtual machine onto the Windows 7 host system. Then you install your applications that are not compatible with Windows 7 into the Windows XP virtual machine and have them appear seamlessly on the Windows 7 desktop.
Note that XP Mode is not a special mode. What it is a licensed version of Windows XP that you download from the Microsoft Web site. The Windows XP virtual machine does have a customized installation routine, so it is not like you are installing it from a DVD or .iso file. But that is it – there is no “mode” for XP Mode.
It is worth repeating:
There is no mode for XP Mode – it is just a licensed version of Windows XP downloaded from the Microsoft site for users of Windows 7 Professional, Windows 7 Enterprise and Windows 7 Ultimate
Keep in mind that XP Mode is an unmanaged solution. If you want centralized management and control, you will want to use MED-V and APP-V. These two applications are part of the Microsoft Desktop Optimization Pack and are available only to Microsoft customers with software assurance.
The combination of Windows 7, Microsoft Virtual PC, MED-V and APP-V give you all the advantages that a client side DVC solution can provide. Users get the performance, responsiveness and customization they need, while IT retains centralized management and control over the IT image running in the virtual machine. Users can even purchase their own hardware – IT is only concerned about the VM. As you can imagine, this also make disaster recovery easier, as users just need to download the new virtual container and applications are automatically streamed to the new container. And when you deploy user state virtualization, users keep their customized settings as well.
Virtualization has changed the way we do server side computing. Now that the data center advantages have been realized, it is time to take them to the desktop. While VDI is a good solution for a small number of scenarios, it is far from an ideal solution. The best solution from both the IT groups and the end users perspectives is a DVC solution that uses virtual containers. Microsoft has an ideal virtual container DVC solution in the form of Windows 7, Microsoft Virtual PC, MED-V and APP-V. The combination of these Microsoft technologies gives you the performance, responsiveness and customization that users require, while IT gets the management, control and visibility they need.