Contents
Key takeawaysRuntime qualityPricing comparedWhich Azul productMigration timeAzul contract termsUsing the quote with OracleWhat we have seenWhat to do nextFAQAzul Zulu and Oracle Java SE are built from the same OpenJDK source and certified against the same compatibility kit, so the runtime question is close to settled. The contract, the counting metric and the audit exposure are where the money is.
- The runtimes match. Both come from the same OpenJDK source, pass the same Java SE TCK and receive security fixes on the same quarterly dates.
- The metrics do not. Azul counts vCores or JVMs, while Oracle counts every employee, contractor and agent, and in our benchmarks the Oracle subscription priced 2 to 5 times a per core support build.
- Price Platform Core. Core is the Oracle replacement; Prime is a performance runtime at several times the price, so make every quote name its product line.
- Migration takes weeks. Technical migration took 2 to 8 weeks, and the rare failures came from application vendor certification matrices.
- Carve out Oracle product stacks. WebLogic and most Oracle products stay on Oracle Java, so separate them before you model the saving.
- Settle the Azul terms before signing. Fix the container counting basis, a growth band and an uplift cap, with Eclipse Temurin documented as the free fallback.
Is the Zulu JDK as good as Oracle Java?
At the runtime level, yes. Azul Zulu and Oracle Java SE are both production grade JDK distributions built from the same upstream OpenJDK source, and both are certified against the same Java SE Technology Compatibility Kit (TCK). Your applications see the same Java SE platform on either one.
Both ship security fixes on the quarterly OpenJDK schedule each January, April, July and October. The two diverge on the contract: the pricing metric, the annual uplift, the audit exposure and what it costs to leave.
Which Java versions does Azul support that Oracle no longer does?
Azul tracks the same long term support lines as Oracle (Java 8, 11, 17, 21 and 25) and still supports Java 6 and 7 commercially. Oracle's Extended Support for both has ended, which leaves Sustaining Support with no new fixes. For a company carrying a 2011 application that cannot retire before 2028, that legacy coverage can decide the whole case.
Where does the real risk sit in a Zulu migration?
Production scale is not the risk. Azul has shipped certified builds for over a decade and has public references in banking and trading. The risk sits in two places: application vendor support matrices and your own operational assumptions, such as scripts, installers and monitoring agents that look for an Oracle JDK path.
Validate them in that order, vendor matrices first and operations second, because that is the order in which projects fail. A packaged application whose vendor certifies only Oracle JDK can stall a migration that is otherwise finished.
How to Negotiate the Oracle Java Employee Agreement: Honest Leverage in a Captive Deal
How does Azul pricing compare with Oracle's per employee model?
Azul prices what you run and Oracle prices who you employ. Azul Platform Core is licensed per JVM or per core, while the Oracle Java SE Universal Subscription counts every employee, contractor and agent, Java user or not. On the same workloads, the per employee subscription priced 2 to 5 times a per core support build.
The employee metric hurts most in two situations. The first is where Java is a minority workload, because you pay for the whole workforce to cover a handful of servers. The second is where contractor ratios run high: counted populations landed 20 to 30 percent above badged headcount in engineering firms, utilities and public sector bodies.
| Dimension | Azul Zulu | Oracle Java SE | What it means for you |
|---|---|---|---|
| Pricing metric | Per JVM or per core (vCore) | Per employee, contractors included | Only Azul tracks what you run |
| Certification | TCK certified | TCK certified | Runtime quality does not separate them |
| Free production option | Zulu Builds, no SLA | No Fee Terms and Conditions, time limited | Put the Oracle expiry dates in the calendar |
| Annual uplift | Negotiable, cap it in writing | 5 to 8 percent typical | Three years of compounding sets the total cost |
| Growth event | More JVMs or cores | More people, acquisitions included | Oracle prices your acquisitions, Azul does not |
| Exit cost | Swap to Eclipse Temurin, no fee | Termination plus a review of historic use | Leaving Azul costs little, which limits its renewal increases |
| Oracle product stacks | Not certified for WebLogic | Required | Carve these out before you model anything |
On the Azul side, the server metric Azul has published since June 2021 is the vCore. A physical core with hyperthreading enabled counts as two vCores, and a cloud instance counts the vCPUs it is sold with. Container quotes are often written per JVM instead, and the order should say which basis applies to which workload.
- JDK 17. Free updates under the No Fee Terms and Conditions ended with the September 2024 release. Later updates come under the OTN license, which does not cover production use without a subscription.
- JDK 21. Free updates under the same terms run through September 2026, and the OTN license applies from the next update.
- JDK 25. Free updates are planned until September 2028.
Why does the Oracle volume ladder not reduce your exposure?
The ladder lowers the rate per employee, but it never lowers the number of people counted. Volume steps the rate down from $15.00 toward $5.25 per employee per month, with lower rates negotiated above 50,000 employees. The arithmetic, including when ordering above headcount wins, is in the band table worked example.
The counted population grows with the business and not with your Java footprint. A 5,000 employee manufacturer running 30 Java applications pays for 5,000 employees, and outsourcing, project contractors or an acquisition all raise the bill with no new Java deployed. See how Oracle counts contractors and consultants.
What does the comparison look like for a 5,000 employee company?
Say you employ 5,000 people, run those 30 Java applications on 40 production virtual machines of 8 vCores each, and Oracle offers $9.00 per employee per month after discount. The $9.00 rate is hypothetical, chosen from inside the published range. Development and test run on free Zulu Builds in this example.
| Line | Calculation | Annual result |
|---|---|---|
| Oracle, badged headcount only | 5,000 × $9.00 × 12 | $540,000 |
| Oracle, contractors add 20 percent | 6,000 × $9.00 × 12 | $648,000 |
| Oracle, contractors add 30 percent | 6,500 × $9.00 × 12 | $702,000 |
| Azul production footprint | 40 VMs × 8 vCores | 320 vCores |
| Azul price at which the two costs match | $648,000 ÷ 320 vCores | $2,025 per vCore per year |
Any Azul quote below the last line saves money at the 6,000 count. Ask Azul for a per vCore price on the same footprint and rerun the Oracle rows at your real band. The Java calculator does the Oracle side for your own numbers.
Java SE renewal and exit brief
The subscription arithmetic, migration patterns and contract terms for Oracle Java and its alternatives, in one download.
Get the white paper →Which Azul product should you price: Zulu Builds, Platform Core or Platform Prime?
Price Azul Platform Core. Azul sells three things, and buyers are often quoted the wrong one:
- Zulu Builds of OpenJDK. Free, certified and downloadable, with no SLA. Reasonable for development, test and workloads no one pages you about at 3am.
- Azul Platform Core. The commercial support subscription for the same Zulu builds, and the Oracle Java SE replacement in almost every case. This is the product to price.
- Azul Platform Prime. A performance runtime with the Falcon JIT compiler, the C4 pauseless garbage collector and ReadyNow warmup acceleration. It solves latency problems, not licensing ones, at several times the Core price.
Ask for every quote to name the product line on each line item, and send back any Prime pricing you did not request. A Prime line buys a different JVM, and it can multiply the total for support you never scoped.
When is Platform Prime worth paying for?
Prime earns its price when you have a measured latency or throughput problem, such as garbage collection pauses on a trading or payments service, or slow warmup after every deployment. Run it as a separate business case with a load test on your own application. Keep it out of the Oracle replacement decision, which Core alone settles.
How long does a migration from Oracle Java to Zulu take?
Technical migration to a certified OpenJDK build took 2 to 8 weeks per organization in our benchmarks, far less than the quarters buyers feared. Support parity held in 9 of 10 cases. In the exception, the cause was always an application vendor's certification matrix, never the JVM.
Most of that time goes on inventory and testing. Swapping the binary is quick; confirming every packaged application, build pipeline and container base image takes the weeks.
What has to stay on Oracle Java?
WebLogic and most Oracle product stacks stay on Oracle Java, because Oracle supports them on its own JDK and many carry restricted use Java SE rights. Separate them early. The carve outs set the size of the saving but rarely the decision on the rest, and the WebLogic and Java SE coupling page shows where those rights end.
How do you check which Java you are running today?
Start with an inventory you control, before Oracle asks for one. These sources cover most environments:
- The runtime itself.
java -versionprints "Java(TM) SE Runtime Environment" for Oracle JDK and names Zulu in the OpenJDK runtime line for Azul builds.java -XshowSettings:properties -versionshows thejava.vendorproperty. - Endpoint management. Software inventory from Microsoft Configuration Manager, Intune or your equivalent tool, filtered on Oracle Java publisher entries.
- Container images. A scan of your registry for base images that ship Oracle JDK, covered in Oracle Java in Docker base images.
- Vendor statements. Written confirmation from each application vendor that it supports an OpenJDK build such as Zulu.
The guide to telling Oracle JDK from OpenJDK lists the file paths and registry keys to check on each platform.
What should you negotiate in an Azul contract?
Negotiate the counting rules before you sign. The Azul terms deserve the same care as the Oracle exit, because a per JVM metric on an autoscaling platform can multiply overnight. Fix the container counting basis and a growth band in the order form, instead of leaving an open meter.
Say a service runs 12 pods at baseline and scales to 48 at peak. If the contract counts peak JVMs, you pay for 48, four times the steady state. A band that counts average concurrent JVMs over a month, or a fixed allowance per cluster, keeps that bill predictable.
Which terms should you ask Azul for?
- Counting basis. Name the metric per workload type (vCore for servers, JVM for containers) and define how autoscaled instances count.
- Growth band. A range of vCores or JVMs covered at the signed price, so normal growth does not trigger a new order mid term.
- Uplift cap. A written cap on the annual increase. Azul negotiates this in a way Oracle does not.
- Scope. Cover the workloads that carry external obligations, such as regulated or customer facing systems, and leave internal tools on free builds.
- Verification. Compliance through a self declared count, with a contractual verification right and a stated notice period.
- Version coverage. The Java versions supported through the full term, including Java 6 or 7 if you depend on them.
That self declared count is far less work than Oracle's formal review of installs and downloads. Eclipse Temurin, free, certified and a swap away, keeps every Azul renewal honest.
The wider distribution field, Corretto and Temurin included, is compared in the OpenJDK alternatives comparison, and the full six option view in the Java options guide.
Does an Azul quote lower Oracle's Java price?
It lowers the rate, sometimes by a lot, and leaves the metric alone. Oracle discounts the per employee number against a credible alternative, but it almost never redefines who counts as an employee.
Is an Azul quote enough to fix an Oracle Java renewal?
The common advice is to show Oracle an Azul quote and take the discount. We think that stops halfway, because a rate discount leaves the counted population growing with every hire and contractor. If the numbers favor Azul, migrate the movable workloads and keep Oracle Java for the carve outs only.
Use the quote purely as a bargaining tool when a documented reason keeps you on Oracle for everything.
What will the Oracle account team say, and how should you reply?
| What Oracle says | What to say back |
|---|---|
| OpenJDK builds carry security risk without Oracle support. | Azul ships the same quarterly security fixes on the same dates, and its builds are TCK certified. Name the specific gap you mean. |
| You have Oracle JDK installs, so the whole headcount needs the subscription. | We are replacing those installs. The carve outs we keep run under the restricted use Java rights in our Oracle product licenses, so show us any install you believe falls outside them. |
| This discount expires at the end of the quarter. | Our migration plan does not depend on your quarter. We will sign when the scope is right. |
| Sign three years and we will hold the per employee rate. | Put a cap on the counted headcount and on the uplift in the contract, then we can discuss term length. |
Contract language that caps headcount is covered in capping the headcount in the Oracle Java contract.
What have we seen in Oracle Java to Azul decisions?
Across roughly 30 to 40 Java environments Fredrik Filipsson benchmarked between 2024 and 2025, the switch from Oracle Java to a supported OpenJDK build was rarely a technical decision. The metric gap drove it, and the runtime itself almost never held a migration back.
- Runtime parity. Certified against the same TCK, patched on the same quarterly dates.
- What you give up. Ecosystem items: Oracle product certification and a single vendor relationship.
- Carve outs. WebLogic and the Oracle product stacks stay on Oracle Java without changing the decision for everything else.
Oracle discounts numbers and defends definitions, so the Azul quote changes your rate and leaves the employee count where it was.
The audit exposure that shadows the whole comparison is covered in the Java audit defense sequence and the audit triggers analysis. Read both before you remove Oracle JDK, because the removal itself needs a record you can show later.
What to do next
- Price Platform Core explicitly. Send back any Prime quote you did not scope, because the product line decides the number.
- Carve out the Oracle product stacks first. Separate WebLogic and similar products so the model prices only the workloads you can move.
- Count your real Oracle population. Rebuild the employee number with contractors and agents included, and run it through the band table before Oracle does.
- Fix the container counting basis and growth band. Put both in the Azul order form, with the autoscaling rule written out per cluster.
- Cap the Azul uplift in writing. Record a costed Temurin swap plan, so the first Azul renewal has a priced alternative on the table.
- Validate vendor matrices before runtimes. Collect the written support statements before any binary changes. The Java calculator and the Oracle practice run the comparison with you.
Frequently asked questions
Is Azul Zulu as good as Oracle Java?
At the runtime level, yes. Both are built from the same OpenJDK source and pass the same Java SE Technology Compatibility Kit. Performance differs only if you buy Azul Platform Prime, which swaps in its own JIT compiler and garbage collector. The differences that cost money are the metric, the uplift, audit exposure and exit cost.
How do Azul and Oracle Java pricing differ?
Azul Platform Core is priced per vCore or per JVM, so the bill follows the servers and containers that run Java. The Oracle Universal Subscription counts every employee, contractor and agent regardless of Java use. The gap is widest where Java runs on a small share of your servers or contractor ratios are high, and it grows each time headcount does.
What is the difference between Zulu Builds, Platform Core and Platform Prime?
Zulu Builds are the free certified binaries with no SLA. Platform Core adds commercial support, response times and legacy version coverage for those same binaries, and it replaces Oracle Java SE. Platform Prime is a separate JVM tuned for latency and throughput. Buy Prime against a measured performance problem, and keep it out of the licensing decision.
How long does migrating from Oracle Java to Zulu take?
Weeks per organization in our benchmarks, with most of the time spent on inventory and testing. Plan it by workload: developer machines and build pipelines, then servers, then container base images. Keep a rollback path to the previous JDK for each application until its vendor confirms support for Zulu.
What should be negotiated in an Azul contract?
The counting rules come first: how containers and autoscaled instances count, and the growth band covered at the signed price. Add a written uplift cap. Then align the Azul start date with the end of your Oracle subscription, so you do not pay both vendors for overlapping months while the migration finishes.
Does an Azul quote reduce Oracle's price?
It can cut the per employee rate, but the count Oracle bills stays the same. The quote carries most weight when it prices your real vCore footprint with a start date, and when some applications already run on Zulu in production. A quote Oracle suspects you will never sign earns a much smaller discount.
Is Azul Zulu free for commercial use?
Yes. Zulu Builds of OpenJDK are free to download and run, including in production. You get no SLA and no one to call when a fix is urgent, and support for Java 6 and 7 comes only with a paid subscription. Most companies run free builds in development and pay for Core on production systems.