Virtualisation - What it is and how it's licensed

Hi,

Virtualisation is a hot topic at the moment so I thought it would be a good idea to give you some information on what it is and how it's licensed.

Virtual machine (VM) technology allows you to run multiple operating system environments (OS environments) on a single physical hardware system (e.g., a server) Before VM technology, you could run only one OS environment on a server at a time—the physical OS environment that runs directly on the server .[1] Current technologies such as Microsoft Virtual Server 2005 R2 add a layer on top of the OS in the physical OS environment to enable you to run multiple OS environments on the same server. VM technology works by allocating virtualised hardware resources to virtual hardware systems or virtual machines. Virtual OS environments run on virtual machines. Upcoming technologies from Microsoft and other vendors provide virtualisation services directly in the OS and rely on a hypervisor to allocate resources to individual OS environments on a server.

[1] Hardware partitioning technology can also be used to run multiple OS environments on a physical hardware system. However, this technology is primarily available on high-end systems.

Microsoft is committed to developing and investing in VM technology to deliver a number of benefits and capabilities. These include:

Production server consolidation: Reduce TCO by maximizing hardware utilization and consolidating workloads

  • Legacy application re-hosting . VM technology allows legacy applications that need an older OS to run on a VM with that older OS. The VM can run on a server with newer hardware and a newer OS. The technology enables greater application availability, without application upgrades or violating ISV support policies.
  • Server consolidation . VM technology can be used to consolidate a variety of workloads, each running on its own instance of the OS, from many servers onto fewer servers. The technology allows instances of the same or different OS, or of the same OS with different patch levels, to run on a server.
  • Resource partitioning . VM technology can be used to provide OS environments with specific resource limits. The technology can limit a given OS environment to using only a subset of the server’s overall processing, memory and other resources.

Business continuity management: Eliminate scheduled and unscheduled downtime

  • Workload deployment and provisioning . VM technology can package an instance of the OS, and the applications that are configured to run on it, into a virtual hard disk (VHD) file.The VHD file can be rapidly
  • deployed onto a licensed server to run the workload it contains. Complex workloads that span multiple servers on a network can be quickly provisioned by deploying the associated VHD files together. A workload can also be easily duplicated by copying its associated VHD file. A particularly interesting use of this capability is to create a central library of workloads in preconfigured VHD files on centralized storage and deploy them on servers as necessary.
  • OS and application patching and rollback . With VM and management technology, VHD files with preconfigured OS and application instances can be patched offline. These updated VHD files can be quickly swapped for production instances, dramatically shortening the time to deploy a patch to a critical system to just minutes—allowing time for offline testing, production testing and rapid rollback.
  • Batch jobs . VM technology can be used with scripts and schedulers to automatically start and stop workloads on a server according to a pre-defined schedule.
  • Isolation/sandboxing . VM technology can be used to provide secure, isolated OS environments for running untrusted applications. With the proper safeguards and security mechanisms, these OS environments can be sandboxed to protect other application and server instances from crashing. In addition, the technology can help prevent malicious code from affecting other OS environments on the same server or other servers in the network.
  • Increased performance and reliability on multi-core processor and multi-processor servers. VM technology can continuously shift the execution of an OS environment to the optimal core or processor in the server. When a particular OS environment is configured to use only a subset of the server’s overall processing resources, VM technology can provide these resources from cores on separate physical processors, if necessary.

Dynamic data centre: Leverage the benefits of virtualisation to create a more agile infrastructure

  • Workload mobility . VM technology can be used to encapsulate the complete running state of an OS environment. With this capability, running workloads can be moved from one licensed server to another by pausing the OS environment momentarily, moving the associated VHD file, and continuing execution of the workload.

Development and testing: Maximize test hardware to reduce costs, improve lifecycle management and improve test coverage

  • Development and testing . VM technology can be a great tool in software development, test and staging environments. The technology allows for detailed step-by-step debugging and performance monitoring of individual workloads. It can also be used to create arbitrary test scenarios to ensure proper operation in niche scenarios and hardware configurations. In addition, it can be used to simulate the operation of a workload running across a network of multiple servers—on a single physical hardware system.

To help you take advantage of the deployment flexibility that VM technology offers, all products in the Microsoft Servers licensing models are licensed by running instance. The use rights no longer specify the number of times the software may be installed and used on a server. Rather, each license gives you the right to run a certain number of instances of the software on a particular server at a time.

The use rights specify that you must first “assign” an acquired software license to a particular server.[1] Once a software license has been assigned to a particular server:

  • That server is the “licensed server” for that software license
  • You may run instances of the software on the licensed server, as specified in the license
  • You may create and store any number of instances of the software on any of your servers or storage media

For example, each license for Exchange Server grants you the right to create any number of instances of Exchange Server on any of your servers or storage media[2] and the right to run one instance of Exchange at a time. That instance may be run in a physical or virtual OS environment, but only on the licensed server. If you assign an Exchange Server license to a server , you may run one instance of Exchange in one physical OS environment or in one virtual OS environment


[1] Each hardware partition or blade is a separate physical hardware system, and therefore a separate server. Please see the definition of server at the end of this white paper.

[2] You can create instances of the software only as part of exercising your right to run instances of the software. You do not have the right, for example, to create instances of the software to make them available for distribution outside your organization.

Microsoft is clarifying that for existing and new licenses, you may not separate software to run in more than one OS environment under a single license, unless expressly permitted by the use rights for a particular product. This applies even if the OS environments are on the same server. For example, Windows Small Business Server Premium Edition (SBS Premium) includes Windows Server 2003 technology, Exchange Server 2007 technology, and SQL Server 2005 technology. With a single license assigned to a server, you may run instances of that software in only a single OS environment on that server. The software must be run together, regardless of the OS environment in which it runs. To separate the technologies included in SBS Premium into three OS environments, you must assign three SBS Premium licenses to the server. Although the example describes the use of SBS Premium, the same rule applies to licenses for all products. For example, SQL Server 2005 Enterprise Edition contains a number of technologies—Reporting Services, Analysis Services, etc. Under a single license for SQL Server 2005 (licensed Server/CAL), you must run all instances of SQL Server 2005 in a single OS environment on the server.

To help you take advantage of the consolidation benefits that VM technology offers, for products in the Server OS and Server/CAL licensing model, each External Connector License assigned to a server allows any number of external users to access any number of instances of the server software on that server.[1] You do not need a separate External Connector License for each instance of the software, or for each OS environment on that server. For example, even if a server is running multiple instances of Windows Server 2003, you need only one External Connector License for any number of external users to access Windows Server 2003. It does not matter whether those instances of Windows Server 2003 are run under one or many licenses.


[1] Each hardware partition or blade is a separate physical hardware system, and therefore a separate server.

You do not need a separate device CAL for each OS environment on that device. For example, even if a device is running multiple OS environments, and each of those OS environments is separately accessing Windows Server 2003 , you need only one CAL for device .[1]


[1] The multiplexing rule applies to CALs, even with VM technology. If a device is used to pool access for multiple devices or users, each of those end users and devices requires a CAL.

To help you take advantage of the resource allocation benefits that VM technology offers, all products in the Per Processor licensing model are licensed by virtual processor. If you run the software in virtual OS environments, you need a license for each virtual processor used by those OS environments on a particular server, rather than all the physical processors in the server. If you run the software in physical OS environments, similar to the previous licensing, you need a license for each physical processor used by the physical OS environment.

The Per Processor licensing model is slightly different than the licensing models for other Microsoft server products. Instead of stating how you may use the software on a server for each license, it states how you may use the software on a server, once the server is appropriately licensed. To license a server appropriately, you must follow three steps for each Per Processor product running on the server:

  1. Count the number of physical processors the physical OS environment in which the software will run is using.
  2. Count the number of virtual processors each virtual OS environment in which the software will run is using.
  3. Add those numbers together, and assign that number of licenses to the server on which the software will run.

Once the server is appropriately licensed, you may run any number of instances of the software in any number of physical and virtual OS environments on the licensed server.

Similar to hardware partitioning, the licensing treats VM technology as a means of assigning and allocating processors to a specific workload. For example, to count the number of licenses for SQL Server (licensed Per Processor) for a server :

Step 1 – There are no instances of SQL Server running in the physical OS environment. The count for this step is zero.

Step 2 – There are instances of SQL Server running in two separate virtual OS environments. Each of those virtual OS environments is using one virtual processor. The count for this step is two.

Step 3 – To license server A appropriately for SQL Server, you must assign it two SQL Server licenses.


This section is relevant if you are using Per Processor products on multi-core processor systems. For reliability and performance, VM technology can allocate resources from separate physical processors in the server to create a virtual processor for use by a particular OS environment. Under the updated licensing, virtual processors are considered to have the same number of threads and cores as each physical processor in the underlying physical hardware system. Microsoft is adopting this definition to enable you to take advantage of the licensing policy we announced in 2004 for multi-core processors.[1] If the physical processors in the server have two cores, for licensing purposes, each virtual processor also has two cores, even if the cores are allocated from separate physical processors.


[1] For more information on this policy, please click here.

To help you take advantage of the server consolidation benefits that virtualisation offers, a single license for Windows Server 2003 R2 Enterprise Edition allows you to run multiple instances of the software on a server. Each Windows Server 2003 R2 Enterprise Edition license assigned to a server enables you to run one instance in the physical OS environment and up to four instances in virtual OS environments on that server. In addition, you may run instances of Windows Server 2003 R2 Standard Edition in place of the instances of Windows Server 2003 R2 Enterprise Edition in the virtual OS environments.


To help you take further advantage of the server consolidation benefits that virtualisation offers, Windows Server 2003 R2 Datacenter Edition allows you to run any number of instances of the software on a server, as described below. Each server must be licensed by physical processors – you need a license for each physical processor on a particular server. (The number of virtual processors used by a virtual hardware system is not relevant to the licensing of Windows Server 2003 R2 Datacenter Edition.) Once you have determined the number of licenses required, you must assign those licenses to the server. Once the server is assigned the correct number of licenses, you may run, at any one time:

1. One instance of the server software in the physical operating system environment, and

2. Any number of instances of the server software in virtual operating system environments

In addition, you may run instances of Windows Server 2003 R2 Standard or Enterprise editions in place of Windows Server 2003 R2 Datacenter Edition in the virtual OS environments.

To increase the flexibility and value of SQL Server 2005, Microsoft is extending the use rights to enable the customer to use the multi-instancing feature of SQL Server under a single license to Workgroup and Standard Editions.

· For SQL Server 2000 Workgroup Edition and SQL Server 2000 Standard Edition, you need a license for each instance of SQL Server running in an OS environment. You also need separate licenses for each OS environment in which you run the software.

· For SQL Server 2005 Workgroup Edition and SQL Server 2005 Standard Edition, while you still need separate licenses for each OS environment in which you run the software, a single license permits you to run any number of instances in a single OS environment.

Hopefully this covers everything you need or want to know.

As usual, if you have any licensing queries please leave a comment or e-mail

vs-irl@microsoft.com

Speak to you soon.

Ciara