Licensing BizTalk by the CPU

[[Edited December 3rd, 2009 to correct core/processor misinformation]]

A common subject that I see questions about regularly is how many licenses you need to buy for running BizTalk Server 2009.

The Pricing and Licensing FAQ is your friend in these situations.

The most important concept to understand is that licensing is per-CPU. It doesn't matter how many processors BizTalk can actually use at any one time.

Also, this licensing is for the physical processor and not the cores within it, as discussed in Multicore Processor Licensing.

For example, you may want to install Standard Edition Biztalk Server 2009 on a machine with four CPUs. This edition is limited to only using two of the four processors on the motherboard but you need a 4-CPU license. The reason for this is that BizTalk does not have to share the processing power with the operating system (and other applications) as much on a 4-CPU as a 2-CPU box so you get better performance.

Looking at the Pricing and Licensing page, the prices work out as follows:

Edition

Maximum number of CPUs BizTalk can use

Physical CPUs in server

Maximum number of BizTalk applications

1

2

3

4

Branch

2

US$1,800

US$3,600

US$5,400

US$7,200

1

Standard

2

US$8,499

US$16,998

US$25,497

US$33,996

5

Enterprise

Unlimited

US$34,999

US$69,998

US$104,997

US$139,996

Unlimited

With virtualisation, the licensing model doesn't change and the per-CPU principle still applies. Basically, you can host as many virtual machines running BizTalk Server on your machine as will fit as long as you buy a license for each physical processor. The number of virtual processors is not relevant.

Clustering is a popular option for improving availability for Enterprise Edition but, again, licensing doesn't change. If BizTalk is installed on the cluster nodes as active-active or active-passive, licenses still need to be purchased for each physical processor in the cluster - for example, a two-node active-passive cluster of 4-CPU machines means eight BizTalk licenses.

[[Edited December 8th, 2009 to add virtualised support]]

[[Edited December 10th, 2009 to correct virtualised support content]]

Licensing for BizTalk on a virtualised environment is also edition-specific. As you can see from this article comparing the various BizTalk Server Editions, Enterprise Edition has a different licensing model on virtual processors:

Edition

Enterprise

Standard

Branch

Developer

Maximum Processors

Unlimited

Two

Two

Not applicable

Virtual Processors

Unlimited

-

-

-

The Pricing and Licensing FAQ mentioned earlier covers this:

Q.  Does BizTalk Server 2009 allow for virtualization?
A.   Similar to SQL Server Enterprise, BizTalk Server 2009 ENT can be licensed for unlimited virtualized processors that are available on a single physical server. The customer will be required to license the number of physical processors on a server. 

According to the Microsoft Volume Licensing Brief, licensing for BizTalk Server is one per virtual processor in use by the virtualised servers. This number may be less than, or more than, the actual number of physical processors. For Extended Edition, there is an extra licensing model where you pay for the physical processors only, regardless of how many virtual processors are being used.

[[Edited December 11th, 2009 to add screenshot]]

To help with working out how many processors you are using, run MSINFO32.EXE (System Information) and check the System Summary. Compare this with what you can see in Device Manager or Task Manager's Perfomance Tab. In the diagram below, System Information reports that I have one physical processor installed that has four cores (the four logical processors); Device Manager only sees the four logical processors so should not be used for calculating licenses. If my machine had multiple physical processors then I would expect to see multiple "Processor" entries in the System Summary. From a licensing perspective, I have two choices:

  • One Enterprise edition BizTalk Server license for the physical processor (which includes any number of virtual processors)
    or
  • One BizTalk Server license for every virtual processor (and nothing required for the physical processor unless I'm running BizTalk Server on the host server too)

Note - MSINFO32 or Device Manager may not report the processors correctly when run on older guest operating systems. MSINFO32 is used here more to demonstrate concepts than to provide a foolproof licensing aid.