7 月,Azul 发布了《Oracle Java 使用、定价和迁移情况调查与报告》。这项全球研究覆盖 663 名专业 Java 用户,其公司正在订阅或曾经订阅过 Oracle Java。研究得出了一项令我们惊讶的结果,我们正在努力解开这个谜团。
一小部分参与者具有以下特征:
- 其目前正在使用 Oracle Java
- 其采用 Oracle 基于员工数量的 Java 定价模式
- 其目前正在或计划将部分(而非全部)Java 实例从 Oracle 迁移至其他 JDK 提供商
- 其表示价格是迁离 Oracle Java 的主要因素
在这些调查参与者中:
- 有 35% 正在使用 JDK 17,但未使用 JDK 21,因此其必须在 9 月之前采取行动(届时 Oracle 将结束 JDK 17 的免费更新)
- 有 40% 未使用 JDK 17 或 JDK 21,因此其已为商业支持付费,或正在使用不受支持的 Java 版本
这部分 Oracle Java 用户群体有什么不同之处?
要了解这部分调查参与者不同寻常的地方,我们首先来回顾一下 Oracle 于 2023 年 1 月推出的基于员工数量的定价模式。
Oracle Java 的新定价模式
Oracle 按员工数量的 Java 定价模式根据公司员工的数量进行收费,这其中甚至包括兼职员工、临时员工和承包商(无论他们是否使用 Java)。
但是,Oracle Java 的定价有两个注意事项。
- 如果符合以下条件,公司就无需按员工数量付费:
- 其在不改变 Java 使用情况的前提下,延续之前的定价模式,即服务器按照处理器数量指标计费,桌面端按照指定用户累加计费。
如果符合以下条件,公司完全不必支付费用:
- 其使用的是在 2024 年 9 月之前仍然可以免费获得 Oracle JDK 17 更新的版本。之后,该 Oracle JDK 将恢复为使用 Java SE Oracle 技术网络许可协议 (OTNLA),并且需要 Java SE 通用订阅才能继续接收更新。Oracle JDK 21 在下一个 LTS 版本 (Oracle JDK 25) 发布后的一年内可免费使用并接收更新。
- 其在 Oracle Cloud Infrastructure (OCI) 上运行 Java 应用程序,或者使用捆绑了 Java 的其他 Oracle 产品。
Oracle Java 的细微差别
尽管如此,调查参与者表示,其对继续使用 Oracle Java 的最大顾虑还是成本。无论公司当前使用何种定价模式,即使只有一个 Oracle Java 实例,也会使公司受到 Oracle 定价的影响。
我们不知道正在或计划将部分(而非全部)Java 实例从 Oracle 迁离的那 27% 调查对象是否会使用 OCI 来运行 Java;但如果不是,几乎可以肯定,只迁移部分 Java 实例并不能节省成本。
我们前面提到的公司仅将部分 Java 应用程序从 Oracle 迁离,最可能的原因是其:
- 未意识到将 Java 实例保留在 Oracle 上的潜在后果 –专家表示,与之前的模式相比,大多数基于员工数量的订阅成本将多达 2-5 倍,并且五分之一的用户预计会在未来三年内面临 Oracle 审计。
- 不了解其 Java 清单中的内容 –要创建完整的 JDK 使用清单,组织必须检查其环境中运行任何基于 Java 虚拟机 (JVM) 的应用程序的每台计算机,以确保它们遵守许可条款和条件。
- 对迁离 Oracle 的能力缺乏信心 –在报告中,有 31% 的用户认为迁移风险太高,28% 的用户担心无法完全脱离 Oracle,并且仍需向 Oracle 支付费用,22% 的用户认为其缺少成功迁移到 OpenJDK 发行版所需的资源。然而,在已经迁离 Oracle Java 的调查参与者中,有 84% 的用户表示迁移过程符合其预期,甚至比预期更轻松。
给正在考虑迁移的公司的建议
在公司努力应对 Oracle Java 高成本风险的同时,以下是根据 Azul《OpenJDK 迁移入门指南》提供的一些迁移建议:
- 确定迁移目标
- 清点哪些计算机(包括云实例)上的哪些应用程序正在使用哪些 Java 版本,并制定迁移计划。
- 仅选择经过 TCK 测试的 OpenJDK 发行版
为什么要迁移到其他 Java 发行版?
半数的调查受访者表示,其更愿意使用开源发行版,由于 Oracle 定价上涨,人们对 OpenJDK 的兴趣日益浓厚,使得 OpenJDK 变得更加理想。
Azul 的价格通常比 Oracle 低 70%,并为公司提供了许多额外的优势:
- 安全准备:按照严格的 SLA,提供仅包含安全修复的特选构建版本。
- 支持旧版本:支持基于 Java 21 等最新发布的版本构建的应用程序固然重要,但对旧版本的支持也同样至关重要。新报告的 CVE 仍会继续影响 Java 6 和 7。
- 易于部署的安全更新:OpenJDK 完整更新(补丁集更新,即 PSU)通常整合了数百项更改,包括错误修复、增强功能和大约十几个安全补丁。在过去的 22 次 OpenJDK 完整更新中,有 6 次需要“重新打包”才能修复该版本的问题。那些依赖 Azul 商业支持的组织,以及那些使用特选关键补丁更新 (CPU) 进行更新,从而仅修复安全问题的组织则不受影响。
- Oracle Java 的一对一替代品:免费发行版通常只提供大约十几种构建配置,但商业支持可确保您获得更新所有应用程序(不限版本、平台或架构)所需的构建。
- 专家工程支持:我们分布在全球的团队提供全天候支持。
- 周期外发布:我们的工程团队会定期提供错误修复和对生产问题的解决方法,包括修复关键问题的周期外补丁。
- 知识产权保护:Azul 会扫描并处理每个构建版本中的每个源文件,以确保客户受到保护,避免可能施加开源许可要求的污染代码对其产生影响。
如需了解更多信息,请阅读《OpenJDK 的商业支持——Azul 高级支持提供的五项最宝贵优势》
公司表示,其在 OpenJDK 发行版中最看重的品质和特点是:
- 技术专业知识
- 及时发布版本和修复
- 客户支持
- 稳定的安全性更新
- 迁移专业知识
- 降低许可成本
结语
了解公司 Java 环境中的内容对于安全有效地迁移至关重要,同时还能节约成本。要更清楚地了解如何执行 Java 清单检查,请阅读《OpenJDK 迁移入门指南》并访问 OpenJDK 迁移学习中心。
Azul 将随时提供帮助。Azul 拥有除 Oracle 之外规模最大的 Java 支持团队,提供全球支持,以 100% 的客户满意度提供全天候帮助。与 Oracle Java SE 相比,Azul Platform Core 客户通常可以节省 70% 以上的成本。