Support
Blog chevron_right Java

Simple Ways to Remove Risk from Your Oracle Java Migration

Simple Ways to Remove Risk from Your Oracle Java Migration

Summary 

Enterprises are finding a way to remove risk from Oracle Java migrations. We have spent years guiding teams through migrations, and we have a 100% success rate. 

In this post you will learn: 

  • Azul has a proven three-step Java migration process 
  • In the discovery phase, create a detailed catalog of existing JVM deployments 
  • In the catalog phase, replace Oracle JVMs with an OpenJDK alternative 
  • In the compliance phase, ensure ongoing Oracle Java license compliance 

Drop-in replacement (n): A substitute component, product, software module, or material that can directly replace an original item within a system while maintaining full compatibility, requiring no modifications to the surrounding infrastructure, interfaces, or operational processes. 

Grokipedia

When the leaders at your enterprise decide to migrate your Java instances from Oracle to an open-source distribution, you want a few critical things: 

  • Certainty: 100% chance of success 
  • Speed: Migration in less than a year 
  • Success: Everything done correctly and completely the first time 

But if you read our 2024 Oracle Usage, Pricing and Migration Survey & Report, you know that business leaders don’t have that much confidence in their ability to execute a migration. When the survey participants who are planning to continue using Oracle Java were asked why, here are some of the responses [Figure 1]: 

  • We feel it is too risky to migrate (31%) 
  • We are afraid we won’t be able to migrate completely off Oracle Java and will still have to pay them (28%) 
  • We don’t have the resources to migrate to an OpenJDK distribution (22%) 

CHART - 31% of Oracle Java customers feel migrating off Oracle is too risky.
Figure 1: 31% of Oracle Java customers feel migrating off Oracle is too risky. Source: Oracle Usage, Pricing and Migration Survey & Report

Scary! But in that same survey, when we asked participants who had already completed their migrations to an OpenJDK alternative about their experience, the reality didn’t meet the hype [Figure 2]: 

  • 45% said it took them less than six months 
  • 75% said they finished within a year 
  • 84% said migration went as planned or was easier than expected 

CHART - What would you say about your company's migration process from Oracle Java to OpenJDK?
Figure 2: What would you say about your company’s migration process from Oracle Java to OpenJDK? Source: Oracle Usage, Pricing and Migration Survey and Report

What are the keys to a zero-risk Java migration? 

So enterprises are finding a way to achieve zero-risk Java migrations. We have spent years guiding teams through migrations, and we have a 100% success rate. Here are a few critical keys: 

Choose a drop-in replacement for Oracle JDK 

Select an OpenJDK distribution that is derived from the OpenJDK source code and has passed Oracle’s Technology Compatibility Kit (TCK) tests. Oracle Java SE functionality like the Java Virtual Machine (JVM), libraries, etc. are completely interchangeable with Azul Platform Core. You don’t have to make any modifications to your application’s source code or recompile your application code. 

Follow a proven process 

After guiding hundreds of enterprises through successful migrations, we have a proven three-step process: 

  1. Discovery: Create a detailed catalog of existing JVM deployments. The Azul Migration Toolkit (AMT) and Azul JVM Inventory identify the installations and help automate their classification by vendor, version, license liability, and more. 
  1. Migration: Replace Oracle JVMs with an OpenJDK alternative. You can replace Oracle with Azul Platform Core on both servers and desktops by automating the step-by-step instructions in Azul’s migration playbooks. If required, Java Applet and Java Web Start implementations are replaced with Azul’s open-source solutions. Test all migrated applications iteratively to validate successful transition. 
  1. Compliance: Ensure ongoing security and stability by implementing quarterly Critical Patch Updates (CPUs). Azul JVM Inventory ensures ongoing Oracle license compliance by detecting Oracle JVMs (including newly introduced ones) when they run. 

How should you identify Oracle JVMs in your Java estate? 

In the Azul migration process, step one is discovery of the JVMs in your Java estate. This is usually the most time-consuming part of the migration process. The Discovery step includes three phases: 

  • Catalog JVMs 
  • Plan and scope 
  • Classify JVMs 

Catalog JVMS 

It’s critical to migrate all the Oracle Java from your Java estate to avoid be subjected to paying license fees on any stray Oracle Java. Traditional SAM and ITAM tools can help with the Oracle JVM discovery process, but they provide only a snapshot in time, which can be problematic when ephemeral containers are being regularly spun up and shut down. However, be aware that these tools lack runtime usage context, such as: 

  • What application(s) the JVM is running, which makes it harder to identify JVM owners. 
  • Whether the JVM is covered by a bundled license agreement, which is crucial for understanding commercial license liability. 
  • Whether the JVM is being used at all. 
Pro Tip: If you don’t own a SAM/ITAM tool, you can download the Azul Migration Toolkit (customer login required), which provides the same functionality. 

For this reason, Azul recommends also deploying Azul Intelligence Cloud’s JVM Inventory, which continuously catalogs the JVMs you have deployed across the extended enterprise, on servers, desktops, and in the cloud. By combining both static SAM/ITAM/AMT reports and dynamic JVM Inventory results, you can dramatically shorten the time to create a catalog of all installed JVMs. 

Plan and scope 

Now you can make a prioritized list of Oracle JVMs for replacement, identify challenges, and create a plan to mitigate risks. The Azul Team can also help you estimate the migration effort based on the extensiveness of the JVM catalog created in Phase I. 

Pro Tip: Use Azul’s planning template to help define scope, goals and success criteria. 

Classify JVMs 

You still need to understand the details of each installation with respect to: 

  • JVM vendor 
  • JVM version 
  • Install path 
  • Applications the Oracle JVMs are running 
  • Bundling of JVMs with other products under a permitted license 
  • Which JVMs are installed but not used 

There could be tens of thousands of JVMs, and this is often the most time-intensive part of the migration process. We recommend deploying JVM Inventory to automate runtime intelligence not available with other tools, reducing the time to catalog and classify JVMs.

Pro Tip: The Azul Platform Core TAM Team can also provide key guidance as well as tooling that can read a catalog of JVMs and generate the following spreadsheet in a matter of minutes. 

How do you migrate after cataloging JVMs? 

Replacing Oracle Java SE with Azul Platform Core is a straightforward but rarely one-and-done process when it comes to large Java estates. Usually it’s an iterative process based on the prioritized list created in Step 1. 

Pro Tip: Use Azul JVM Inventory (rather than a spreadsheet) to provide a live burndown view of replaced instances.

Migration usually happens in a phased approach: 

  • Servers and desktops: Replace Oracle JVMs on servers and desktops by installing typically the latest release of your new JVM and uninstalling Oracle. For Azul Platform Core, download Azul Platform Core (login required) for your operating system/platform/Java version using your customer credentials. 
  • Legacy Java technologies (if necessary): If you use legacy Java technologies such as Java Applets or Java Web Start (JWS), you will need to migrate them to a viable alternative. Azul has commercially supported open-source solutions and workarounds for Applets, JWS, lucid fonts, and more. 
  • Application testing: Run your set of standard regression tests against internally developed applications to ensure application behavior has not been affected. 

How do you ensure Oracle Java license compliance? 

Once you have removed all instances of Oracle JDK that impose a license liability, you’ll need to ensure ongoing Oracle Java license compliance. You should always have an accurate, auditable runtime history to defend against Oracle audits. JVM Inventory provides this by continuously detecting when an Oracle instance runs.

Learn more in our ebook, Zero-Risk Migration: Oracle Java SE to Azul Platform Core.

EBOOK: Read Zero-Risk Oracle Java to OpenJDK Migration