Enterprise Software Licensing Considerations

If you will purchase an enterprise software like database, application server you have to consider several factors other than functionality of the software. With the virtualization and multicore servers you have to carefully consider combination of Vendor-Software-CPU Architecture-CPU Core Number-Virtualization Solution.

  • Virtualization:Not all vendors welcome virtualized environments. Virtualization has two consequences. The first one is you may not get support for your problems that occur in virtual environments. The second one is you may have to license for actual physical cores instead of virtual cores assigned to your software. This may also depend on the virtualization solution you will use. Some of them accepts all hypervisors(VMWare, VirtualBox, OracleVM, HyperV etc) as a valid virtualization solutions but some of them accept any of them. For example IBM accepts all of the above virutalization solutions as valid options. But oracle only accepts its own virtualization solution, Oracle VM. That means if you deploy an Oracle DB EE on a 2 virtual CPU VMWare based virtual machine on a 8 core physical server you have to pay for 8 cores not 2 cores assigned to virtual server. For oracle only virtualization solution that cuts licensing costs is OracleVM. One different example could be given for Microsoft Windows Server 2008 EE. If you purchase Windows 2008 EE license they allow you to deploy 4 different virtual instances on the same physical host. Microsoft also accepts wide range of virtualization solutions not only their own solution, Hyper-V.
  • Multi-core Policy:Today nearly all CPUs are multi-core. As you know, most vendors require you to pay more when the number of CPUs/cores increases. It may also depend on the architecture of the CPU. For example Oracle Database Enterprise Edition require you to purchase 1 license for each pair of CPU core for X86/X64 architecture. If you have a 8 core machine you have to purchase 4 licenses. But if your application will be working on a PowerPC architecture you may need a license for each core, so for an 8 core PowerPC you may need to purchase 8 licenses. But for Oracle DB Standard Edition, you have to purchase a license for each CPU, number of cores is irrelevant. IBM has a completely different licensing model. They have PVU(Processor Value Unit) concept and you have to purchase PVU values. Lets give an example. For Intel Xeon 55XX series CPUs each core require you to purchase 50 PVU, but Intel Xeon 65XX series require you to purchase 120 PVU for each core.  Also there are other considerations as well for example number of maximum allowed sockets (CPUs) per server.
  • Named User Licenses:Named user licensing is generally more easier than cpu licensing. Each user/application/hardware accessing the application directly or indirectly (a user accessing DB through connection pool) requires a license. Generally suitable for test and development environments.

References