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.
Comments
Anonymous
December 01, 2009
I think the discussion of physical CPUs in regards to licensing (on the FAQ as well as your post) is still a bit confused. The chart and FAQ say physical CPUs, but your example uses "quad-core". Windows licensing has (since Vista, I believe) distinguished between cores and CPUs. So, would a single-CPU, quad-core Intel i7 running the branch edition cost $1800 or $7200?Anonymous
December 02, 2009
Hi John, Thanks very much for highlighting the misinformation within my post. I've now corrected it to reflect the processor licensing model Microsoft announced back in 2004. Cheers John Breakwell (MSFT)Anonymous
December 10, 2009
John Please can you confirm the licensing model for Virtual BizTalk servers, you say you need to license all processors in the host, however the Microsoft Volume Licensing Brief states you only need to license the number of processors the VM is using. <http://download.microsoft.com/download/F/C/A/FCAB58A9-CCAD-4E0A-A673-88A5EE74E2CC/Licensing_Microsoft_Server_Products_Virtual_Environments.docx> Cheers CraigAnonymous
December 10, 2009
Hi Craig, Thanks for bringing the Brief to my attention. I can see how this makes the FAQ documentation easier to understand. So, what the document seems to be saying is: "Normal" licensing - one license for each virtual processor used by the virtual servers (regardless of whether the total number of virtual processors is less than or more than the number of physical processors in that server). Expanded use rights licensing (Enterprise edition only) - one license for each physical processor in that server (regardless of the total number of virtual processors used by the virtual servers). Cheers John Breakwell (MSFT)Anonymous
December 10, 2009
John can you confirm this scenario for my. If a had a 2 CPU Quad core Hyper-V server with two BizTalk vms, each configured with only two cores, I would need to purchase a enterprise CPU license for each phyical processor even though I'm only utilizing the equivilent of one physical CPU. Thanks CraigAnonymous
December 10, 2009
Hi Craig, So what you are saying is that, as "two cores + two cores = four cores", your virtual machines are effectively only using one quad-core processor. The calculation is not performed that way as Microsoft licensing is not core-related. The Microsoft Volume Licensing Brief document says: "For licensing purposes, a virtual processor is considered to have the same number of threads and cores as each physical processor on the underlying physical hardware system." You need to look at how many processors your virtual machines are using. You can either check host system to see how many processors the guest systems are configured to use. Or run MSINFO32 on the guest and see how many processors the virtual operating system can see. You may have two processors showing up in Device Manager, for example, but these are "logical" processors which represent the available cores of the virtual or physical processor. I'll add to the blog to cover this. Cheers John Breakwell