This guide is one in a series of planning and design guides that clarify and streamline the planning and design process for Microsoft® infrastructure technologies.
Each guide in the series addresses a unique infrastructure technology or scenario. These guides include the following topics:
The guides in this series are intended to complement and augment the product documentation.
Using this guide will help an organization to plan the best architecture for the business and to deliver the most cost-effective virtualization technology.
Benefits for Business Stakeholders/Decision Makers:
Benefits for Infrastructure Stakeholders/Decision Makers:
Benefits for Consultants or Partners:
Benefits for the Entire Organization:
Using this guide should result in a design that will be sized, configured, and appropriately placed to deliver a solution for achieving stated business requirements, while considering the performance, capacity, manageability, and fault tolerance of the system.
The objective of this guide is to enable the reader to rapidly and accurately select which Microsoft virtualization technology or technologies to use for specific scenarios. The reader will then be able to proceed with the planning and design process for that virtualization technology by using the appropriate IPD guide. References and links to the appropriate IPD guides are provided in the "Additional Reading" sections and throughout this guide.
Several different forms of virtualization need to be understood as a basis for making the right technology choice:
Microsoft has a comprehensive portfolio of virtualization technologies that can be used either independently or together to enable the widest variety of desktop and server virtualization scenarios.
Table 1 lists virtualization technologies and maps them to specific virtualization implementations available from Microsoft.
Table 1. Microsoft Virtualization Technologies
Server hardware virtualization
Windows Server 2008 R2 Hyper-V® technology
Server software virtualization
Microsoft Virtual Server 2005 R2 with Service Pack 1 (SP1)
Virtual Desktop Infrastructure (VDI)
Remote Desktop Services (formerly Terminal Services)
Microsoft Application Virtualization (App-V)
Virtualization on the desktop
Windows Virtual PC (and Windows XP Mode)
Virtualization management on the server
Microsoft System Center Virtual Machine Manager 2008
Virtualization management on the desktop
Microsoft Enterprise Desktop Virtualization (MED-V)
Windows Server 2008 R2 Hyper-V technology is a built-in operating system technology that hosts virtual machines on the Windows Server 2008 R2 platform, using server hardware virtualization. It provides a scalable and secure platform for supporting server virtualization within enterprise infrastructures.
Windows Server 2008 R2 Hyper-V uses Type 1 hypervisor-based virtualization, which runs directly on hardware, thereby enabling direct access to difficult-to-virtualize processor calls. Other features of Hyper-V include:
Hyper-V requires an x64-based processor with hardware-assisted virtualization (Intel VT or AMD-V processors).
For more information, see the Windows Server 2008 R2 website at www.microsoft.com/en-us/server-cloud/windows-server/default.aspx.
Virtual Server 2005 R2 with SP1 is a server software virtualization product that runs most major x86-based operating systems within virtual machine environments. It supports multiple scenarios, including server consolidation, support for hosting legacy operating systems and applications, automation of software test and development environments, and simplified disaster recovery.
Virtual Server 2005 R2 with SP1 runs as a service on Windows Server 2003 and Windows Server 2008 R2; it provides administration features for managing production virtual machines. Virtual Server 2005 R2 with SP1 is available as a free download from the Microsoft Virtual Server TechCenter at www.microsoft.com/technet/virtualserver/default.mspx.
VDI provides desktop virtualization for enterprise customers who want to host desktops as virtual machines in central locations. Organizations can choose to create a dedicated virtual machine for each user or to allow a user to access a virtual desktop virtual machine from a pool. A virtual desktop pool is a group of identically configured virtual machines that are temporarily assigned to users. When the user completes their work, the desktop is returned to the pool and becomes available for other users.
Users can connect to these virtual machines either from traditional Windows-based client computers by using a remote desktop application, or they can connect by using a thinner, stateless Windows-based terminal device. Keyboard and mouse input is sent to the server, and video output is sent to the client, using a network connection.
For more information on VDI, see "Virtual Desktop Infrastructure" at www.microsoft.com/virtualization/products/desktop/default.mspx and
"Microsoft VDI – Overview" at http://blogs.msdn.com/rds/archive/2009/08/19/microsoft-vdi-overview.aspx.
Microsoft Remote Desktop Services provides the ability to centrally host client applications, using session virtualization. Formerly known as Terminal Services, Remote Desktop Services is included in Windows Server 2008 R2.
All application processing occurs centrally on the server computer that is running Remote Desktop Services. Users can connect to their applications either through traditional Windows-based client computers by using a remote desktop application, or they can connect by using a thinner, stateless, Windows-based terminal device. Keyboard and mouse input is sent to the server, and video output is sent to the client, using a network connection.
More information on Remote Desktop Services is available at www.microsoft.com/windowsserver2008/en/us/rds-product-home.aspx.
App-V provides the ability to create isolated environments in which applications can execute on users' computers. The applications are cached on the client system and execute locally; they do not change settings on the client, such as registry or program mappings.
This eliminates application coexistence issues as well as improving automation and streamlining the process of deploying and managing the applications.
Applications installed using App-V can be distributed in either of two ways:
App-V is available as part of the Microsoft Desktop Optimization Pack (MDOP). More information is available from the App-V website at www.microsoft.com/systemcenter/appv/default.mspx.
Windows Virtual PC is a desktop virtualization technology designed to create virtual machine environments on client computers, such as those that are running Windows 7 and Windows Vista. Windows Virtual PC provides a simplified method of setting up and using virtual environments that support a wide variety of different operating systems. For more information, see the Windows Virtual PC website at www.microsoft.com/windows/virtual-pc/default.aspx.
Windows XP Mode is a capability that can be used to provide a Windows XP virtual machine on a computer running Windows 7. Windows XP Mode runs in a virtual machine provided by Windows Virtual PC and requires hardware-assisted virtualization, which must be enabled in the basic input/output system (BIOS). For more information, see www.microsoft.com/windows/virtual-pc/default.aspx.
System Center Virtual Machine Manager 2008 is a stand-alone application that provides centralized, enterprise-class management of virtual machines that run on Windows Server 2008 R2 Hyper-V, Virtual Server 2005 R2 with SP1, and VMware ESX (through VMware Virtual Center). As part of the Microsoft System Center family, System Center Virtual Machine Manager integrates with the other System Center products to provide end-to-end physical and virtual infrastructure management. For more information, see the System Center Virtual Machine Manager website at www.microsoft.com/systemcenter/virtualmachinemanager/en/us/default.aspx.
MED-V enhances deployment and management of Windows Virtual PC on a Windows desktop while providing a seamless user experience of a Windows Virtual PC environment independent of the local desktop configuration and operating system. MED-V utilizes Windows Virtual PC to provide an enterprise solution for desktop virtualization and is an integral component of the MDOP. For more information, see the MED-V website at www.microsoft.com/windows/enterprise/products/mdop/med-v.aspx.
This guide addresses the decisions that need to be made to select the best virtualization approach for specific workload requirements. The guide presents these decision points in a sequence that is most effective for determining which virtualization technology should be used. When considering virtualizing multiple workloads, readers should iterate through the entire process individually for each type of workload.
Decisions in this guide are divided into sequential steps. These steps include:
Figure 1 outlines the decision flow for selecting a virtualization technology.
Figure 1. Virtualization decision flow
The purpose of this step is to determine whether virtualization is appropriate for a specific situation. Areas to consider when determining if virtualization is appropriate include:
Assuming that virtualization is appropriate for the workload, proceed to Step 2: "Categorize the Workload."
Microsoft Virtualization home page: www.microsoft.com/virtualization/default.mspx
After determining that virtualization is the best option for a workload, the next step is to determine which category the workload belongs in. The purpose of this step is to determine whether the workload is designed to run on a Windows Server–based server or on a client computer. Workloads designed for server operating systems typically have different resource requirements and different levels of interactivity than client workloads.
Once the workload category has been determined:
Microsoft offers two server virtualization products:
This step involves determining which product will deliver the most appropriate platform for virtualization, based on the technical needs of the environment. Table 2 compares the capabilities of the server virtualization products.
Table 2. Comparing Microsoft Server Virtualization Products
Windows Server 2008 R2 Hyper-V
Virtual Server 2005 R2 with SP1
Multiple CPU support for guest operating system
Enhanced management tools
Server software virtualization
Windows Server 2008 R2 Hyper-V offers the advantage of being a hypervisor-based solution. The thin hypervisor implementation dramatically reduces the overhead of virtualization. Windows Server 2008 R2 Hyper-V is available as part of the Windows Server 2008 R2 platform. It requires hardware-assisted virtualization (Intel VT or AMD-V processor).
For detailed design planning information on Hyper-V, refer to the Infrastructure Planning and Design Guide for Windows Server Virtualization, available at http://go.microsoft.com/fwlink/?LinkID=147617.
If the hardware on which the virtualization platform will be installed does not support hardware-based virtualization extensions (Intel VT or AMD-V processor), then server software virtualization is the only choice. Virtual Server 2005 R2 with SP1 is supported by the Windows Server 2003 and Windows Server 2008 R2 operating systems for production deployments.
For detailed design planning information on Virtual Server 2005 R2 with SP1, refer to the Infrastructure Planning and Design Guide for Windows Server Virtualization, available at http://go.microsoft.com/fwlink/?LinkID=147617.
The remainder of this document is dedicated to determining the best virtualization technology for client-based workloads. This step focuses on narrowing the options for virtualization, based on the network requirements of client computers.
Computers that are always connected to the network will be able to rely on server-based technologies, whereas those that are not always connected must have locally accessible applications.
The decisions in this and subsequent sections should be reviewed for each workload being virtualized since the requirements of users and their applications may be different from workload to workload.
Client computers that will always be connected to the network when running a particular workload can rely upon the network in order to access their applications and data. Typical scenarios include corporate desktop computers and kiosks as well as some computers used in remote offices and home offices. This option should be selected when client computers will have reliable network connections and do not need to run applications when not connected to the network.
If the client will always be connected, proceed to Step 5: "Determine Workload Location."
Client computers that must have the ability to run virtualized applications while disconnected from the network will require versions of the applications that are resident on the disconnected computer. These options are most useful for situations in which users need only occasional access to applications while traveling or when network connections are unreliable.
If the client may run disconnected, proceed to Step 7: "Choose Application Virtualization or Virtualization on the Desktop."
The next decision for connected client systems is to determine where the workload should be run. Depending on the technology choices that have been made previously, the virtualized workload can either run as a centralized workload or a decentralized workload.
If the workload can be centrally managed and efficiently run from a server, consider a centralized approach to workload virtualization. This is beneficial when the workload configuration needs to be tightly controlled or when resources must be centrally managed. It allows for easier deployment and management of workloads.
Proceed to Step 6: "Select Desktop or Session Virtualization."
Some workloads cannot be run from a central server or they may require individualized configuration or access to local system resources to run efficiently. These workloads should be deployed using a virtualization method that can be distributed to desktop systems.
Proceed to Step 7: "Choose Application Virtualization or Virtualization on the Desktop."
Now that the decision has been made to centralize, the next decision involves choosing between session virtualization and desktop virtualization.
In both cases, users access centralized workloads through a Remote Desktop Protocol (RDP) connection. The client computers can run a full operating system such as Windows 7, or they can run any other operating system that has an available RDP client. They may also be diskless and boot from the network so that no data or applications are stored locally.
The client's applications are run directly on the Windows Server 2008 R2 operating system. There will normally be many connected clients that share the operating system and the applications, so clients cannot be granted administrative rights.
All applications that are installed on the server must be able to run on the same Windows Server 2008 R2 operating system. Any incompatibilities should be managed by using another application virtualization technology, such as App-V.
See the Infrastructure Planning and Design Guide for Windows Server Virtualization, available at http://go.microsoft.com/fwlink/?LinkID=147617, and the Infrastructure Planning and Design Guide for Windows Server 2008 R2 Remote Desktop Services, available at http://go.microsoft.com/fwlink/?LinkID=177881.
VDI provides virtualized desktops that run a client operating system that is hosted in a virtual machine on the Windows Server 2008 R2 operating system. Since there will normally be only one user on the client's operating system, the user may be granted administrative rights and may reboot the desktop when desired.
This decision step determines whether the workload being considered is better implemented in application virtualization or in virtualization on the desktop.
App-V provides a method for installing applications into a virtualized environment via MSI or streaming them on-demand. Application processing will occur on client computers. App-V requires that client computers have a complete client operating system that supports the virtualized applications as well as meeting the hardware requirements for applications that will be deployed and executed on that computer. Sufficient network bandwidth for deploying applications must also be available.
See the Infrastructure Planning and Design Guide for Microsoft Application Virtualization 4.6, available at http://go.microsoft.com/fwlink/?LinkId=160978.
Windows Virtual PC allows users to run entire client operating systems on their local computers. To support this configuration, the client computer must have sufficient CPU, memory, disk, and network resources to support the base Windows operating system as well as resources for each of the virtual machines that will be supported.
Windows Virtual PC provides support for running legacy applications and operating systems. Windows XP Mode provides a tailored Windows XP virtual machine that runs on Windows Virtual PC in Windows 7.
Users can create a wide variety of different virtual machines and can start and stop them as needed. This solution is particularly helpful for software developers and testers who often require access to multiple different platforms.
After selecting the most appropriate virtualization technology for each requirement, decide how the virtualized environment will be managed, and determine whether virtualization technologies should be used separately or together in combination.
Microsoft provides two products—System Center Virtual Machine Manager and MED-V—to assist with the challenges of managing a virtualized environment. Some of the benefits that can be realized by using Microsoft virtualization management products to manage the organization's virtualized environment include:
System Center Virtual Machine Manager is a stand-alone application that provides centralized, enterprise-class management of virtual machines that run on Windows Server 2008 R2 Hyper-V, Virtual Server 2005 R2 with SP1, and VMware ESX (through VMware Virtual Center). As part of the System Center family, System Center Virtual Machine Manager integrates with the other System Center products to provide end-to-end physical and virtual infrastructure management.
MED-V enhances deployment and management of Windows Virtual PC images on a Windows desktop while providing a seamless user experience of a Windows Virtual PC environment, independent of the local desktop configuration and operating system. MED-V uses Windows Virtual PC to provide an enterprise solution for desktop virtualization and is an integral component of the MDOP.
In certain cases, it can be beneficial to employ multiple virtualization technologies into one comprehensive plan to address advanced needs. For example:
The virtualization technologies may be combined in a number of different ways. In each case, be sure to confirm with Microsoft Product Support Services (PSS) that the combination is supported.
Organizations can choose from a wide variety of virtualization solutions to better deliver their workloads. After using this guide—first to determine whether virtualization is appropriate for a particular workload, then to select the best virtualization technology—continue the planning process using the applicable IPD guide for that virtualization technology.
Note that when planning virtualization for multiple applications, readers should repeat the entire process individually for each type of workload.
Microsoft Operations Framework (MOF) offers integrated best practices, principles, and activities to assist an organization in achieving reliable solutions and services. MOF provides guidance to help individuals and organizations create, operate, and support technology services, while helping to ensure the investment in technology delivers expected business value at an acceptable level of risk. MOF's question-based guidance helps to determine what is needed for an organization now, as well as providing activities that will keep the organization running efficiently and effectively in the future.
Use MOF with IPD guides to ensure that people and process considerations are addressed when changes to an organization's technology services are being planned.
Figure A-1. The architecture of Microsoft Operations Framework (MOF) 4.0