This is just another blog (JAB) about Dispelling the “Galaxy Licensing” Oracle Java on VMware FUD perpetuated by overzealous licensing and sales teams, which is in complete contrast to the reality of the actual Contractually Impactful documents.
This blog intends to clear up the reality of how to effectively license Oracle Java workloads on VMware Hybrid Cloud ( vSphere, vSAN , VxRAIL , VMware Cloud on AWS and other VMware Cloud Platforms) and to make it a cost effective one as well.
Java Licensing Models
Contents
Prior to 2019, there were three Java SE products known as
- Java SE Advanced
- Java SE Advanced Desktop
- Java SE Suite
These models required commercial users to purchase upfront licenses and pay annual support.
Starting 2019, the above three models was replaced by two new subscription-based models
- Java SE Subscription
- Java SE Desktop Subscription
As per this model, one no longer needs to purchase licenses upfront and pay annual support for Java SE. Instead, one would have to pay a monthly subscription fee under one to three-year terms for server or desktop licensing and support.
Oracle Java SE Subscription Licensing
Oracle Java SE Subscription licenses are based on physical processor, not virtual or logical processor, similar to Oracle SE2 which is based on number of physical sockets OR Oracle Enterprise Edition which is based on physical cores.
There is no concept of virtual socket/cores licensing of any Oracle Products including Oracle Databases and Oracle Java on VMware platform.
As per the “Oracle Java SE Subscription Global Price List” as of August 3, 2018 –
This document defines Processor as “Processor: shall be defined as all processors where the Oracle programs are installed and/or running.”
The above language also reflects in the below screenshot taken from “Oracle Java SE Subscription Global Price List” document.
Like other Oracle products, the Oracle Java SE Subscription Global price list document above refers to the Processor Core Factor Table for calculating the number of processors for the processor-based model as shown below –
“The number of required licenses shall be determined by multiplying the total number of cores of the processor by a core processor licensing factor specified on the Oracle Processor Core Factor Table which can be accessed at http://oracle.com/contracts. All cores on all multicore chips for each licensed program are to be aggregated before multiplying by the appropriate core processor licensing factor and all fractions of a number are to be rounded up to the next whole number”
Given the above, Oracle Java SE Subscription Licensing is no different than the way one would license Oracle Database workloads with respect to calculating the number of effective physical cores (absolute number of cores * core processor factor).
Oracle Java SE Desktop Subscription Licensing
Oracle Java SE Desktop Subscription uses the Named User Plus–based metric (NUP) to calculate the Oracle Java SE Desktop Subscription license.
As per the “Oracle Java SE Subscription Global Price List” as of August 3, 2018 –
“Named User Plus: is defined as an individual authorized by you to use the programs which are installed on a single server or multiple servers regardless of whether the individual is actively using the programs at any given time. A non-human operated device will be counted as a named user plus in addition to all individuals authorized to use the programs, if such devices can access the programs. If multiplexing hardware or software (e.g., a TP monitor or a web server product) is used, this number must be measured at the multiplexing front end. Automated batching of data from computer to computer is permitted. You are responsible for ensuring that the named user plus per processor minimums are maintained for the programs contained in the user minimum table in the licensing rules section; the minimums table provides for the minimum number of named users plus required and all actual users must be licensed.
For the purposes of the following Program: Java SE Desktop Subscription, the term “server” refers to a desktop computer”
The above language also reflects in the below screenshot taken from “Oracle Java SE Subscription Global Price List” document.
Next Steps
From the definition of “Actual” by Merriam-Webster
Now that we have clearly understood the actual Oracle Java SE / Oracle Java SE Subscription licensing rules, lets see how we can best architect Oracle Java workloads on VMware Hybrid platform from a licensing perspective.
Successfully defending an Oracle Java Audit
Its crystal clear, Oracle Java SE subscription is purely Compute based licensing whereas Oracle Java SE Desktop subscription is purely based on the number of Users.
The primary goal of effectively defending an Oracle Java Licensing Audit on VMware Hybrid Cloud platform is to prove that an effective “Compute Segmentation” has been done to ensure that Oracle VM(s) runs on dedicated ESXi servers in the datacenter, because again, to re-iterate, Oracle Java licensing is only Compute (physical cores) or User (NUP) based.
On a high level, we can achieve the above goal in 3 steps
1) Create a “Compute Enclosure” to prevent Oracle Java VM (s) from leaving the enclosure by any means whatsoever
- Option A: Dedicated vSphere Cluster for Oracle Java VM (s)
- Option B: Common vSphere Cluster with VM-Host MUST Affinity rule to bind Oracle Java VM (s) to a set of ESXi servers dedicated for Oracle workloads , within the vSphere cluster
- Option C: VM vCPU Affinity to bind the Oracle Java VM(s) to a set number of physical core (s) within a physical socket (s) in an ESXi server
2) Establishing an auditing mechanism of documenting Oracle Java VM (s) movements via vMotion events in the above “Compute Enclosure”. The 4 VM events critical to Oracle Java licensing are
- VM Power ON
- VM Power OFF
- VM vMotion TO
- VM vMotion FROM
3) Tying the above findings of the audit to the “Oracle Java SE Subscription Global Price List” which is a legally binding document. This document defines a processor as “Processor: shall be defined as all processors where the Oracle programs are installed and/or running”
The details of the above 3 step process can be found in the blog “Oracle on VMware vSphere , vSAN, VxRAIL & VMware Cloud on AWS – Preparing for an the Oracle Audit”.
Summary
- Starting 2019, the above three models was replaced by two new subscription-based models – Java SE Subscription & Java SE Desktop Subscription
- Oracle Java SE subscription is purely Compute based licensing whereas Oracle Java SE Desktop subscription is purely based on the number of Users
- There is no concept of virtual socket/cores licensing of any Oracle Products including Oracle Databases and Oracle Java on VMware platform.
- Java SE Subscription & Java SE Desktop Subscription details can be found in the “Oracle Java SE Subscription Global Price List” document
Need Help?
For any additional Oracle Licensing on VMware clarification or help, please reach out to your respective VMware Account teams who can get our team involved in a discussion (Internal VMware folks can reach directly to us at the Tier1-Apps-Sales-Support team mailing list) and we can definitely help guide you and connect you to some of our Premier specialist partners for further discussions.
Oracle on VMware SDDC Collateral
All Oracle on vSphere white papers including Oracle licensing on vSphere/vSAN, Oracle best practices, RAC deployment guides, and workload characterization guide can be found in the url below
Oracle on VMware Collateral – One Stop Shop [Customer]
https://blogs.vmware.com/apps/2017/01/oracle-vmware-collateral-one-stop-shop.html