Oracle Java

Oracle Java on VMware Hybrid Cloud Platform – Dispelling the Oracle Java Licensing myths

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 , VMware Cloud on AWS and other VMware Cloud Platforms) and to make it a cost effective one as well.

 

 

 

 

 

Java Licensing Model – 2023

 

January 23rd 2023, Oracle made significant changes to how they license Java.

There are three main points in Oracle’s announcement:

First, Oracle no longer offers subscription Java on a Processor or Named User Plus model.

Second, going forward, the only model available is an employee-based license. If you want to license Java from Oracle you have to license all of your full time, part time, temporary employees, and contractors. This is the policy regardless of whether they are actually using the software.

Finally, Oracle announced that existing Java subscription clients can renew their Java contracts under the same “terms” and “metrics.”

 

The nuances of the what’s changed, what does it mean and what do I do is well articulated in Oracle Java Licensing Changes – January 2023 and  The New Oracle Java Pricing: What You Need to Know

Please review the above blogs for the steps you can take to protect yourself NOW and get the most from Java.

 

 

 

 

Java Licensing Models – 2019 and earlier

 

Starting this section onwards – all of the information below is relevant ONLY for Java Licensing Models 2019 and earlier and the steps to be compliant with the Java licensing rules are also relevant for Java Licensing Models 2019 and earlier

 

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.

 

 

 

 

 

 

 

 

 

Information on Oracle Java SE & SE Subscription Price Calculation

 

For Oracle Java SE Desktop Subscription , please refer to the link Oracle Java SE Desktop Subscription for pricing calculation.

For Oracle Java SE, pricing is based on the number of physical cores and core processing factor for that core.

For example, for 200 absolute physical Intel cores, the effective physical cores for Java licensing is 200 * 0.5 = 100 effective cores.

Per the table in the link Oracle Java SE Subscription , for 100+ effective cores , cost of Java license per core is 285$ currently and so total cost  = 100 * 285 = $28500.

 

 

 

 

 

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