Virtualization has always been a complex technology, but somehow Microsoft has found a way to further complicate it by releasing its various virtualization products with similar-sounding yet nondescript names such as Hyper-V, App-V, and MED-V. To understand the role of each of these solutions and how you might use them in your business, you need to know how to navigate the maze of Microsoft virtualization terminology and methodology. Let's get started.
Server Virtualization with Hyper-V
Easily the most well known Microsoft virtualization technology Hyper-V is Microsoft’s server-virtualization solution, which competes head-to-head with VMware’s ESX Server. Hyper-V is delivered in two ways: It's a role in Windows Server 2008 and Server 2008 R2, and it's also available free from Microsoft in the form of Hyper-V Server 2008 R2. The latest release of Hyper-V is typically referred to as Hyper-V 2.0.
As its name implies, Hyper-V is a hypervisor-based virtualization solution, which means that the software layer providing the virtualization support runs directly on the physical system hardware. This configuration provides a high-performance virtualization platform.
Hyper-V was originally released with Server 2008. However, the Hyper-V code that was delivered in the initial Server 2008 release was prerelease code. Later, Microsoft delivered the final Hyper-V release as a hotfix. This initial release became known as Hyper-V 1.0. The Hyper-V 1.0 release didn't support Live Migration; instead, it supported Quick Migration, a technology that incurred some downtime as virtual machine (VM) files were transferred between cluster nodes. The new Hyper-V 2.0 supports Live Migrations, enabling VMs to be moved between Hyper-V hosts with no downtime. Live Migration is facilitated by a new storage technology call Clustered Shard Volumes (CSV), which allows multiple cluster nodes to access VM file stored on a shared LUN. Live Migration is essentially the Microsoft counterpart to VMware’s VMotion. Hyper-V 2.0 also provides support for up to four-way virtual SMP and up to 64GB of RAM per VM.
Hyper-V Server 2008 R2 and the Hyper-V role in Server 2008 R2 are based on the same technology. Both use the same hypervisor, and both are capable of joining a cluster and performing Live Migration. However, there are differences. One of the main technological differences is the fact that Hyper-V Server 2008 R2 must be managed remotely. There's no local GUI. Another important difference is licensing: Hyper-V Server 2008 R2 includes no licenses for any host or guest OSs. With Server 2008 and Server 2008 R2, you get at least one license for running Server 2008 and additional licenses, depending on the edition of Server 2008 you have:
- Server 2008 Standard Edition provides an additional license for one active instance of Windows running in a VM.
- Server 2008 Enterprise Edition provides for four active Windows instances running in VMs.
- Server 2008 Datacenter Edition provides for an unlimited number of active Windows instances with no additional licensing costs.
Note that Hyper-V isn't a good technology for laptops. Many laptops today are capable of running Hyper-V, but because the Hyper-V hypervisor runs directly on the hardware, you lose important mobility features such as power management and the ability to sleep and hibernate your system. Hyper-V is best suited to server virtualization. Laptops are better served by using a hosted virtualization product such as Virtual PC.
Application Virtualization with App-V
Less well known is App-V, Microsoft’s application-virtualization platform, a technology that Microsoft acquired by purchasing Softricity’s SoftGrid in 2006. Server virtualization and application virtualization solve very different problems. Server virtualization addresses server hardware utilization levels and server deployment and availability. Application virtualization addresses application deployment, isolation and management.
Software running on the client system provides support for virtual applications. The client-virtualization layer provides the virtual application with a virtual copy of the system’s file system, registry, and other system I/O points. When the virtual application runs, it interacts with the virtual system environment and doesn’t modify the host system’s physical registry and file system. This capability allows multiple applications that might normally conflict with one another to run together on the same system with no conflicts because each application runs in its own virtual environment. Likewise, it eliminates "DLL hell," where installing one application can overwrite the DLLs that another application uses. For the enterprise, the biggest App-V advantage probably lies in its no-touch application deployment. App-V is integrated with Active Directory (AD), and the administrator can assign virtual applications to users and groups, and stream those applications to end-user systems without any manual intervention.
App-V does require supporting infrastructure. The application to be virtualized runs through a process called the Microsoft Application Virtualization Sequencer, which breaks the application into pieces that can stream to desktops. The system stores the virtual applications on the System Center Application Virtualization Management Server, which is also responsible for streaming them to desktops, where the virtualization client software executes them.
One benefit of the sequencing process is that only the parts of the application that are necessary are streamed to the desktop. For example, when you run an application such as Microsoft Office (which normally requires several hundred megabytes) through the sequencer, it becomes many smaller pieces that can be individually streamed to the client. Now, when the client initially uses the application, he or she doesn't need to wait for hundreds of megabytes to stream to the system before it's useable. Instead, only the code necessary to run the executable part of the requested application streams to the client. The necessary part might be only a few megabytes, but the application will execute normally in the virtual client environment. Later, as the end user requests additional functions and features, only the code needed to execute those features will stream to the client. The virtual applications are executed on the client system, and the code streamed to the client systems remains cached there, so there’s no need to re-stream the parts of the virtual applications that have been previously streamed to the client systems.
App-V is part of Microsoft’s Desktop Optimization Pack (MDOP), which is available only to Software Assurance customers. You can find out more about App-V at the Microsoft Application Virtualization site.
Legacy App Compatibility with MED-V
MED-V is probably the most misunderstood product in the Microsoft virtualization lineup. Legacy application compatibility is the product's main purpose. MED-V is built on top of Microsoft’s Virtual PC product, but unlike Virtual PC—in which a guest OS desktop replete with applications is presented to the user—MED-V enables the applications running in the VM to be seamlessly integrated with the user’s desktop. The fact that the application is actually running on a VM is hidden from the end user. This configuration removes the complexity associated with running a product such as Virtual PC from the end user.
MED-V applications are published to users via Group Policy, and they appear like normal applications in the user’s Start menu. When the user launches a MED-V application, the default policies cause the application to appear with a red border on the user’s desktop. Printers defined in the host environment are available to the MED-V applications. Other desktop features (e.g., using Alt+Tab to switch between applications) are also supported for Med-V applications. MED-V is much like Windows 7's Windows XP Mode (see the next section), but MED-V is designed for enterprise usage and is centrally managed, whereas Windows XP Mode is designed for the single user.
Like App-V, MED-V is part of MDOP, which is available only to Software Assurance customers. You can find out more about MED-V at Microsoft's MDOP page.
Virtual PC and Windows XP Mode
Yes, Virtual PC is alive and well, and is the basis for such technologies as MED-V and Windows XP Mode. Microsoft acquired its Virtual PC technology from Connectix in 2003, and the company has recently released a new version of Virtual PC to support Windows 7. The new version includes long-overdue support for accessing USB devices. Unlike Hyper-V, in which the virtualization hypervisor runs directly on the hardware, Virtual PC uses a hosted virtualization model in which the virtualization software runs on a host OS. Also, unlike Hyper-V (which requires 64-bit hardware), Virtual PC can run on 32-bit and 64-bit systems.
Like MED-V, Windows XP Mode enables applications that are running in the VM to be seamlessly integrated with the user’s desktop. However, Windows XP Mode also includes a full copy of XP SP3, which provides the basis for running legacy applications that might not run on Windows 7. Windows Virtual PC and Windows XP Mode are available for Windows 7's Starter, Home Premium, Professional, Enterprise, and Ultimate editions.
The new Windows Virtual PC runs only on Windows 7. If you’re looking for desktop virtualization for Vista or XP, you would need the older Microsoft Virtual PC 2007, which is a free download available from Microsoft's Virtual PC 2007 page. The new Windows Virtual PC is a free download from Microsoft, and you can find Virtual PC and Windows XP Mode at Microsoft's Download Windows XP Mode page.
Virtual Server 2005 R2
Virtual Server 2005 was Microsoft’s original server-virtualization technology. Virtual Server 2005 R2 is a hosted virtualization product, which means the virtualization software runs on top of a host OS such as Windows Server 2003. Now that Hyper-V is available, there's little need for Virtual Server 2005 R2, but it still fills a niche by running in certain environments that don't support Hyper-V. For example, Virtual Server 2005 R2 can run on Windows 2003. It can also run on older 32-bit hardware, whereas Hyper-V requires 64-bit hardware and a CPU that supports hardware-assisted virtualization.
The Virtual Hard Disk (VHD) format used to store VM files is compatible between Virtual PC, Virtual Server 2005 R2 and Hyper-V. You can use System Center Virtual Machine Manager (SCVMM) to manage both Hyper-V and Virtual Server 2005 R2. You can download and find out more about Virtual Server 2005 R2 at Microsoft’s Virtual Server 2005 R2 page.
Presentation Virtualization and the Microsoft VDI Suite
I left Remote Desktop Services (RDS) for last because RDS—formerly known as Terminal Services—doesn’t really qualify as a virtualization technology. While scrambling to jump on the virtualization bandwagon, Microsoft's marketing folks tagged this technology as presentation virtualization. RDS is really a remote-access technology that lets a desktop—or even a window used by an application on a desktop—be displayed on a remote system. The keyboard and mouse clicks captured on the remote desktop are transmitted back to the host system, using the Remote Desktop Protocol (RDP) protocol. Nothing is really virtualized; you're just operating the system remotely.
Virtual Desktop Infrastructure (VDI) is a technology that enables centralized management of client systems. The Microsoft Virtual Desktop Infrastructure Suite is actually something of a misnomer: The name implies that it's a product, but it’s really a bundling of several Microsoft virtualization technologies, including Hyper-V for hosting desktops, SCVMM for managing the desktop VMs, System Center Operations Manager (SCOM) for monitoring hosts and VMs, System Center Configuration Manager for creating desktop images, and Windows Server RDS with its RD Session Broker and RD Gateway. Microsoft markets two versions of this product: the VDI Standard Suite and the VDI Premium Suite. The primary difference is that the Premium Suite includes App-V on top of the other products that comprise the Standard Suite. Does this sound complex and confusing? It is. None of these products is specially intended for VDI, but they can each play a different role in making VDI happen. The suites are more a way to help customers handle the licensing complexities.
Enhancements to Server 2008 R2’s RD Connection Broker enable Microsoft's VDI scenario. Clients make a connection to a VM using RDP. The Server 2008 R2 RD Gateway provides web access, and the RD Connection Broker directs clients to the correct VMs. Hyper-V runs VMs with the desktop client OS. The VM's desktop is sent to the client via the RDP connection. You could think of the Microsoft VDI solution as a type of single-user terminal services. Other vendors (e.g., Citrix) offer enterprise-level management extensions to this platform.
You can find out more about the enhancements to Server 2008 R2’s Remote Desktop Services at Microsoft's Remote Desktop Services page. You can find more information about Microsoft’s VDI Suite at Microsoft's Desktop Virtualization page.
Living in the Virtual World
Virtualization has rapidly grown from a niche technology used for labs and development work to a core IT infrastructure technology. As you can see, Microsoft offers many types of virtualization technologies. Each one is designed to provide a solution to a different business problem. Hopefully, you can now find your way through the Microsoft virtualization maze.