/
Java Brick

Java Brick

Univ. of Hawaii - ITS Technical Architecture - Brick    

Java Brick

Primary Architects:  Cameron Ahana & Michael Hodges

Description

OpenJDK is becoming a popular alternative to the commercial version of OracleJDK. Oracle will not charge companies if they are on the current version of OracleJDK but their release cadence (sometimes as quick as 6 months) makes it difficult for companies to keep pace. Oracle argues that the releases are not "major" releases so the migration is not as daunting a task as many perceive it to be [1]. Many Java applications currently running in the ITC data center are on OracleJDK 8; Banner for example.

Table of Long Term Release versions.  We have no plans to install developer versions in production.

ReleaseOracle
GA Date
Oracle Premier
Support Until
Oracle Extended
Support Until
Oracle Sustaining
Support
Red Hat OpenJDKAmazon CorrettoEclipse Adoptium
fka AdoptOpenJDK
8** (LTS)March 2014March 2022December 2030IndefiniteNov 2026Jun 2023 or laterMay 2026
11 (LTS)September 2018September 2023September 2026IndefiniteOct 2024Aug 2024 or laterOct 2024
17 (LTS)September 2021September 2026September 2026IndefiniteOct 2027

21 (LTS)September 2023September 2030September 2033IndefiniteDec 2029

25 (LTS)September 2025September 2025September 2030



** Source: https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Note that the above URL states:  The Extended Support uplift fee will be waived for the period March 2022 - December 2030 for Java SE 8. During this period, you will receive Extended Support as described in the Oracle Technical Support Level sections of the Technical Support Policies.


Deployment Strategy

Experimental


Strategic (3-5 Years)

  • Red Hat OpenJDK 8

Tactical (1-2 Years)

  •  

Containment

  • OracleJDK 8

Retirement

  •  OracleJDK 6 and 7

Emerging Trends

  • JDK implementations in containers may not need to fall within the guidelines of this brick.
  • More vendors are transitioning to an OpenJDK implementation.
  • OpenJDK implementation matrix [2] and overview of JDK vendors [3]
  • Difference between OracleJDK and OpenJDK [4]
  • Opinions from okta [5]

Notes

  • Warning, OpenJDK 17 introduces potentially breaking changes.
  • 2022 Java Developer Productivity Report
  • ITS already pays for Red Hat OpenJDK support since it is bundled into our RHEL licensing.
  • Red Hat OpenJDK distributions are included in the OS repository, which is updated monthly.  While the repository is updated monthly, most JDK patches likely are updated quarterly since that's Oracle's patch cadence.  This cadence should be kept in mind given that updates to test and prod environments might be harder to control than previously.
  • Banner 9 requires Oracle or OpenJDK 8 for RHEL and Corretto for Windows.  This is a fairly recent development.  Other schools, Oakland for example, utilize OpenJDK.
  • Ellucian support documentation states that Banner 9 on RHEL 7 with OpenJDK 1.8 is supported with most services except the following, for obvious reasons:
    • Oracle Database
    • Oracle Fusion Middleware
  • Red Hat OpenJDK runs on RHEL, Windows, and Mac OS, which is needed for developers.
  • OpenJDK has different builds
    • AdoptOpenJDK for public usage
    • Amazon Corretto for public and customer usage
    • Oracle Java SE for Oracle paying customers
    • Oracle OpenJDK for Oracle nonpaying customers
    • Red Hat OpenJDK
  • AdoptOpenJDK is readily available through docker, has a large community to support it (no need to get commercial support), and runs under the Hotspot JVM, which is Oracle's JVM, so we know the performance will be comparable if not identical.
    • It can also run under OpenJ9, which is the Eclipse Foundations version of the JVM.
    • It is supposed to have a low memory footprint and run more efficiently compared to Hotspot but EA has not explored that option yet.
  • The InCommon Trusted Access Platform (TAP) is containerizing its components using Amazon's Corretto JDK.
    • The IAM team is deploying TAP components, starting with Grouper.
  • For the Oracle JDk. Critical Patch Updates are collections of security fixes for Oracle products, including the Oracle JDK. These updates are available to customers with valid support contracts. They are released on the Tuesday closest to the 17th day of January, April, July and October.  We are assuming that the Open JDK projects have a matching schedule.

Change History

  • August 2022, informally promoted to approved
  • April 2020, draft in progress


Footnotes

[1] May 2018 https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-release-cadence

[2] https://www.azul.com/products/zulu-enterprise/jdk-comparison-matrix/ written by Azul Systems and appears biased towards Azul Zulu JDK

[3] May 2019 https://dzone.com/articles/an-overview-on-jdk-vendors

[4] Oct 2019 https://ww w.baeldung.com/oracle-jdk-vs-openjdk

[5] Jan 2019 https://developer.okta.com/blog/2019/01/16/which-java-sdk

[6] Amazon's contributions to OpenJDK security patching, <https://aws.amazon.com/blogs/opensource/amazon-joins-the-java-community-process-jcp/?nc1=b_rp>.

References



Definitions


Experimental

Someone in ITS is currently investigating or experimenting with this technology.

Strategic

ITS will be investing in this technology for 3-5 years.

Tactical

ITS will be investing in this technology for 1-2 years.

Containment

ITS will continue to use this technology for existing systems, but will no longer invest in this technology and/or grow its use.

Retirement

ITS has a firm plan (and timeline) to retire this technology.

Related content