Oracle的Java 7虚拟化支持策略令IT专业人士担心他们的Java应用程序不能在自己所选择的虚拟化平台上得到恰当的支持。
本周Oracle发布了Java 7并明确地发布了支持策略公告,声称Java 7软件开发包将不再支持VMware以及微软的Hyper-V。Oracle一直在表示由于疏忽,“错误地创建”了支持策略页面,但是对包括非Oracle组件的混合软件栈,Oracle仍将继续坚持其标准策略:除非用户能够证明软件栈的问题因Oracle而起,否则Oracle将不会提供支持。
自从周五下午起,Oacle官方网站的支持策略仍旧没有任何变化,其内容如下:
“当虚拟化在支持的 hypervisor上实现时,所有被支持的平台在虚拟化后将同样继续支持。支持的hypervisor如下:Oracle VM 2.2、VirtualBox 3.x、4.x、Solaris Containers以及 Solaris LDOMs。VMware以及微软的hypervisor不受支持。”
Java虚拟化支持值得商榷
IT专家非常小心地解释了Oracle对Java虚拟化支持的描述。
Virtualization Practice的CEO Edward Haletky说:“Oracle的Java虚拟化支持策略敞开了解释的大门,该问题需要一些‘另外的说明’。因此我们的问题基本上是需要一名律师给员工解释许可证协议,看看是否违背了该协议。”
Edward Haletky继续说道:“这是个问题,他们没有说,‘是的,我们将支持它。你在哪儿运行并没有关系’,这才是真正的答案。相反他们说,‘是的,我们继续在这儿说一些含糊其辞的空话。’正是这些空话让人感到困惑。”
Hub City Media是Java开发的应用程序开发商店,其CEO Steve Giovannetti说缺乏明确性对业务来说不是件好事儿。
“如果最糟糕的情况确实存在,Oracle将不再支持VMware上的Java,这绝对是个问题。” Steve Giovannetti说道,“如果你是摩根大通并且在虚拟化环境中运行Java应用程序,你要做的第一件事就是打电话给Oracle代表并要求他们解决这个问题。然后打电话给VMware,询问他们会为你做什么。”
Jay Weinshenker开了一家咨询公司,在他的个人博客上涉及了Java 7虚拟化支持的新闻。作为回应,Oracle的Java产品管理资深总监Henrik Stahl写到:
“受支持的平台页面是使用标准的Oracle模板错误创建的,并不适用于Java。该页面不久将被更新以澄清,只要没有遇到特定平台的问题,在经过认证的平台上(例如,在该页面提及的平台)以及其他平台上我们将明确支持Java。如果遇到了特定平台的问题(比如,如果VMware出现故障),那么你只能联系平台供应商进行排错并修复故障。”
一名Oracle的女发言人说公司支持Henrik Stahl所写的内容。在采访中,Weinshenker说如果该问题不解决,将会令他以及其他的数据库管理员感到诚惶诚恐。
“最大的问题可能是,作为一名Oracle DBA以及超级管理员,运行诸如Oracle E-Business套件以及Oracle Agile等各种各样的产品都严重依赖Java。” Weinshenker说道,“一旦上述产品通过Java 7的认证,Java 6不再被支持将是早晚的事儿。如果Java 7不支持VMware,那么我将面临一个非常糟糕的窘境。”
为Oracle辩护
然而,另一家进行Java以及Eclipse开发的公司经理却乐意为Oracle开脱。
“如果Oracle说它将支持在VMware以及Hyper-V上运行Java,那么必须在发布Java 7前对所有的hypervisor进行测试,这样做简直太傻了。”该经理说道,“他们在这儿说的是如果你不能在他们提供的四个虚拟机之上重现该问题,我不确定所有的区别都来自IBM。所有的公司(例如IBM)都在以相同的方式运转。他们全面支持自己所有的产品线,但是如果你运行的是一个混合的堆栈,那么他们将不会支持所有的组件。”
在这名经理看来,由于Oracle历来不择手段的名声,人们对Oracle所做的任何事都异常敏感。
“当Oracle收购了Sun以及Java,人们以为世界将走向灭亡,但是并未发生。”他说道,“Oracle在Java上花费了太多的钱却不能将它抓在手里。”
Java虚拟化支持是个新问题,在Java 6的支持策略中没有有提及虚拟化环境,很可能是因为Java 6 在服务器虚拟化浪潮之前就发布了。
“很明显由于在强调云计算,现在虚拟化异常巨大。因此Oracle确定明确地解释什么受支持,什么不受支持,而不是不提及虚拟化或者继续对虚拟化模棱两可。”该经理说道。
大量的软件应用程序在虚拟化模式下运行和在物理环境下没有什么不同。因此Oracle对虚拟化技术进行支持的立场对多数IT专家来说没有什么意义。Giovannetti说道:“VMware能够很好支持所有的软件包”。
“话虽这么说,但Java是一种不同的野兽”。Giovannetti补充道,“一些Java虚拟机处理内存的方式会有一些不同,当你使用虚拟化环境时需要考虑这些不同。在操作环境中你需要对Java进行一些调整,这意味着在虚拟系统中支持JVM并不和物理系统完全相同。”
Oracle意欲何为?
对Oracle的谴责在于Oracle在使用它自己的虚拟化支持策略,而且它在数据库以及企业应用程序市场占据统治地位,在奋力争取更广泛的采用Oracle VM hypervisor,目前和VMware相比,Oracle的VMypervisor市场份额相当小。
过去,Oracle借助其强大的数据库侵入了曾经移交给第三方的新市场。例如,当Oracle提供了它自己的有竞争力的产品后,几乎取代了Veritas存储管理工具。
许多Oracle观察者说他们认为Oracle正在使出浑身解数将用户带入由Oracle提供所有的解决方案。