Blog chevron_right 未分类

Java 用户是否做出了错误的 Oracle Java 迁移决策?

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 迁离,最可能的原因是其: 

  1. 未意识到将 Java 实例保留在 Oracle 上的潜在后果专家表示,与之前的模式相比,大多数基于员工数量的订阅成本将多达 2-5 倍,并且五分之一的用户预计会在未来三年内面临 Oracle 审计。 
  2. 不了解其 Java 清单中的内容要创建完整的 JDK 使用清单,组织必须检查其环境中运行任何基于 Java 虚拟机 (JVM) 的应用程序的每台计算机,以确保它们遵守许可条款和条件。 
  3. 对迁离 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% 以上的成本。