虚拟化导致软件授权出现严重问题

日期: 2008-04-02 作者:李林 来源:TechTarget中国

  在虚拟技术和多核处理器大行其道的今天,传统的软件授权模式已经快要站不住脚了。当然,用户最关心的问题肯定是:今后该掏多少钱?


  前年7月,国际商业机器公司(IBM)针对多核处理器修改了它的服务器软件授权。按处理器或插槽数量授权计费的传统方式就此作古,取而代之的,是一种更复杂,貌似也更公道的办法。这个办法根据应用软件使用的具体计算容量来进行计费。当然,要量化计算容量并非易事,因此IBM推出一款免费的计划和跟踪工具——Tivoli License Compliance Manager。其工作原理是,企业IT部门可以实时地看到性能提升的代价,这样IBM每季度就能对软件的使用进行审计,然后开出账单。


  办法是好,不过前方却有个拦路虎:虚拟技术。由于这种管理工具是在应用程序层面上运行的,因此它无法区分虚拟机和真实机,这就意味着它无法正确提交虚拟程序使用的计算容量。去年年初,IBM宣布不再使用这款工具,并暂停了季度审核。公司计划在今年年中推出一款在虚拟环境下也行之有效的升级版本。在此之前,用户们只能靠自己了,他们很难知道自己是否在合法地使用软件,甚至连自己该付多少钱也不大搞得清楚。“现在全凭大家自觉了。”IBM软件商业战略师罗杰·科尔表示。


  IBM的遭遇确实够尴尬的,不过陷入这种境地的不止IBM一家。多核处理器和虚拟技术算是彻底埋葬了标准的软件授权模式,但目前公认的新模式尚未出炉。受影响的不仅仅是数据中心。英特尔公司(Intel,下称英特尔)专为桌面管理开发的虚拟技术已经被授权问题拖了后腿,但微软公司(Microsoft,下称微软)却正利用桌面虚拟化来推广它的软件保障(Software Assurance)服务计划。


  事情发展到这一地步,企业客户的IT部门或许会禁不住偷着乐了,但是,先别高兴得太早:用于替代的授权方式有我们熟知的开源和软件即服务(SaaS),也有基于内存或虚拟内核来计费的新生模式。要是运气好,新授权方式对企业客户可能意味着更低的成本和更高的灵活性。不过,现实点吧,软件厂商们什么时候主动降过价?运气差的话,通过虚拟化来进行服务器整合时好不容易节省下来的硬件成本,恐怕全都得拿去交软件授权费。


  “成本计算”图中显示,目前,多数服务器软件授权仍然是根据插槽或CPU的数量来进行计费,而这两者在本质上并没什么区别。原因很简单:芯片数量很容易计算,并且一台服务器买来之后恐怕都不会再增减了,这两种授权计费方式使得IT部门在采购时尽量都选最强大的多核芯片。不过,要想软件发挥最大功效,硬件性能也必须跟上。目前,英特尔和超微半导体公司(AMD)都更倾向于通过增加内核数量而不是提高频率来增强性能,这种趋势将会对两种授权方式产生截然不同的影响。


  对于那些在定义明确的硬件上运行的软件,通常使用芯片授权计费比较合理。这一度意味着所有操作系统和大部分应用软件都该如此。然而,虚拟化在底层硬件和操作系统之间加入了一个管理程序(hypervisor),从而改变了这一切。(见图:“虚拟化的五种方式”)。因此,VMware公司、开源管理程序厂商XenSource公司(已被思杰系统公司(Citrix Systems下称思杰)收购)以及Virtual Iron公司都采取了插槽授权的方式,也就不足为奇了。


  令人惊讶的是,微软和太阳计算机系统公司(Sun Microsystems,下称太阳公司)对于虚拟Windows和Solaris操作系统都坚持同样的模式,它们将每台虚拟机都看作是插槽数量相同的物理服务器。这样一来,人们在虚拟化时不得不三思而后行了。不过,这两家厂商这么做都是有其理由的。从微软方面来说,Windows Server 2003的高端版本已经包含了对同一CPU下软件虚拟实例的授权——标准版允许1个虚拟实例,企业版4个,数据中心版无数量限制。这对Windows Server 2008也同样适用。所有的微软服务器授权都能向下兼容,这意味着虚拟实例可以被Windows 2000或Windows NT操作系统所取代。


  而太阳公司的Solaris 10操作系统则包含了Containers,这是与基于管理程序的虚拟技术针锋相对的另一种技术。与VMware公司的方法相比,Containers更接近桌面数据流(desktop streaming),因为它无需一对一的操作系统实例就能对应用程序进行隔离。这种方法节省了系统资源,但这样一来只有Unix应用软件可以运行。除了Solaris之外,Containers还支持Linux操作系统。


  与太阳公司不同,微软没有对虚拟化技术或厂商加以区分。这可能是因为它自身的Hyper-V (曾用代号Viridian) 管理程序要到今年的第三季度才会推出。微软表示,在Hyper-V管理程序推出之后,公司将会继续推行旧有的模糊管理程序政策。不过,到那时,大部分Windows Server 2008的用户肯定都会奔Hyper-V而去。


  虽然微软上月初宣布,不会将Windows Server和Hyper-V技术打包出售(微软早前曾宣称Viridian是Windows Server 2008的重要组成部分),但在设计上这两者实际上是紧密相关的。用户即使购买不含Hyper-V的Windows Server,也只能节省28美元而已。微软的Hyper-V是对VMware的一个挑战。微软还借助Virtual Server 2004与其他管理程序展开了竞争。通过这个免费的工具,用户可以在Windows Server 2003上运行其它操作系统,而不必在不同系统间切换。不过,目前Virtual Server作为客户机操作系统只能支持Windows,尽管微软也曾表示将来它也能支持SUSE Linux。


  毕益辉系统公司(BEA Systems,目前已被甲骨文公司收购,下称BEA)是迄今为止唯一一家放弃插槽授权方式的厂商,不过这也仅仅是对于LiquidVM这种Java虚拟机而言。LiquidVM绕过了传统的操作系统,能够直接在VMware上运行。不管虚拟机是在空闲的CPU周期上运行,还是在一个集群中占用了所有的系统资源,LiquidVM虚拟机都是根据实例数量进行授权。这种模式看起来相对简单,对于大型客户也更具吸引力。


  “核”其贵也


  IBM和甲骨文两家厂商与BEA的做法不同,他们按单个CPU内核来计费。IBM在其半数以上的软件产品上均采用内核授权,包括DB2数据库,WebSphere应用服务器,Tivoli管理软件及Domino数据库,而甲骨文则在其主打数据库上采用了内核授权。这两家厂商还充分考虑了每个处理器系列的性能,使收费更符合应用软件可使用的实际计算能力。


  IBM的办法最为复杂。它是根据处理器价值单位(PVU)向用户收费,每PVU相当于标准双核皓龙处理器或者至强处理器的1%。IBM将每PVU的价格定为每插槽授权费用的1%,这意味着一开始对大部分X86用户而言价格没有什么变化。不过,如果你要升级到4核的X86,那你就得为每个处理器付出双倍的费用,因为现在这种服务器相当于200个PVU。


  IBM认为这种收费模式很公道,因为4核芯片的计算能力是双核的两倍。而这就给企业IT部门带来了难题,原因是芯片内核数量呈几何级数增加。这也意味着,如果每个内核的PVU数目以及每PVU的价格保持不变,那IBM的授权费也将呈几何级数上涨。从长期上看,这种方式显然不具备可行性,因此IBM表示,为了更加真实地反映处理器的实际性能,并且考虑到芯片内核数目越往上增加,运算速度的提升将会逐渐减缓,公司将调整每内核所代表的PVU数目。目前,所有X86内核都代表50个PVU。


  IBM的PVU体系也是首个将虚拟化明确考虑在内的大型厂商授权方案,IBM将其称之为“性能递减授权”(subcapacity licensing)。如果一台服务器被分成多个虚拟机,那么每个虚拟机中的应用软件只需根据虚拟机可用内核的最大数量进行授权,而无需对服务器的每个内核分别授权。


  当然,仔细审视这一授权方案,你就会发现它为Tivoli License Compliance 工具带来的问题了。


  性能递减授权可以为企业客户节省开支,不过前提是虚拟机完全绑定在有限数量的内核上。虚拟化最大的优点就在于它的灵活性,它能根据工作负荷的需求在虚拟机间调配计算容量。想要发挥这一优点,每个应用程序在每个内核上运行时都必须获得授权。IBM承认,这样一来很多客户的成本都会提升。另外,这也为量化带来了困难,导致IBM不得不召回旧版的Tivoli。目前,IBM正在开发针对虚拟化管理的升级版Tivoli产品,该产品将来仍会以免费的形式推出。


  甲骨文是将每个内核视为四分之三个处理器来进行授权,与IBM相比,这种方式虽然更加简单,但却不利于虚拟化。在VMware上运行的甲骨文数据库必须获得对底层硬件上每个内核的授权,不管虚拟机实际使用了多少内核。目前,要想在甲骨文的授权方式下通过虚拟化来节省费用,唯一的办法就是通过Solaris Containers来限制数据库可用的处理器内核数量。甲骨文认为,在限制应用程序可用的内核数量方面,Solaris Containers比VMware设置的约束更加严格。


  五花八门的授权方式


  在虚拟化和多核技术大行其道的今天,按服务器授权的方式无疑显得有些落伍了,现在各大厂商都在关注几项其它的方案。最广为人知的,就是计量定价法(metered pricing),这种方法其实并不新鲜,IBM已在其大型机系统上使用40多年了,目前10%的IBM软件收入仍然是通过这种方式获得的。一般而言,这种模式与严格意义上的计量法还是有区别的,它更类似于手机的收费模式:对于某一区间内的计算能力进行固定收费,超出限额再额外收费。这种收费方式不只局限于软件,对底层硬件也同样适用。


  仁科公司(PeopleSoft)在被甲骨文收购之前,有一套最为公道的体系,它根据用户所在的行业、员工数量及收入建立公式进行计算。甲骨文目前对仁科产品仍然使用这套方案,不过在其他厂商中采用它的却寥寥无几。虽然仁科公司的方案由于缺乏透明度而备受诟病,但它确实从根本上建立了一套完备的折扣计算体系,而不像其他厂商那样总是提供反复无常的折扣。


  对许多企业的IT部门而言,开源可能是解决授权问题的一个既简单又经济的办法。虽然开源授权看似复杂,并且GPL不同版本之间的差异也仿佛是个很让人头疼的问题,但实际上只有那些计划重新分配代码的公司——也就是硬件和软件的厂商——才需要为此操心。由免费软件基金会(Free Software Foundation)和开源促进协会(Open Source Initiative)批准的每项授权,让用户可以随意免费地复制和使用软件。如果企业只在内部配置免费软件,并且没有向外界传播拷贝,那就没有必须购买授权或公开代码的法律义务。


  如果企业有专业的内部人员负责下载、配置和检修开源软件,那这种免费模式就很不错。然而,如果企业自身无力完成这些工作,那就需要从厂商处购买技术支持,这样一来就和购买闭源软件差不多了。红帽公司(Red Hat)、网威公司(Novell,下称网威)以及多数Linux厂商的收费方式都与太阳公司和微软不尽相同,它们对每个物理插槽都进行单独授权。


  在管理程序领域,Virtual Iron公司和思杰旗下的XenSource公司都将自己的管理软件置于开源Xen虚拟服务器上运行,因此它们也是按插槽数量进行收费。


  现在,大部分Linux发行版本都包含了Xen管理程序,但是,各家厂商对于如何处理在其上运行的实例的授权问题却并没有达成统一。网威允许用户在虚拟机内运行任何数量的实例,但要根据底层CPU的数量来收费。红帽公司与太阳公司的收费模式相同,每次安装都需要单独的授权,除非用户使用的是其内置虚拟技术。


  应用流的利与弊


  应用流是首个针对企业用户的桌面虚拟技术。一开始,支持这种技术的主要论点之一,是它能够节省授权费用。软电公司(Softricity)等厂商就曾承诺,如果将应用软件集中在一台服务器上,而不是将它们安装在每个桌面系统上,那么所需的授权就会减少,因为只有在某一时间实际使用应用软件的用户才需要获得授权。然而,在软电公司被微软收购后,这一承诺就不了了之了。


  应用流依然是节省授权费用的可行之道,不过,这仅仅是因为它能更明确地揭示用户的身份以及正在使用的应用程序。很多桌面管理软件都具备这种功能。授权共享的问题在于,像微软Office这种软件是绑定在某一固定的电脑之上,授权很难转移。许多大众化的应用程序也是对每个用户进行授权,这对那些想在笔记本电脑和台式机上安装同一软件的用户而言,无疑是很合算的,但对于想在一台电脑上整合多个用户的企业而言,则不那么有利了。


  应用程序虚拟化让用户可以同时使用一个软件的多种版本,但微软Office软件的用户却不行,他们要么必须为每个版本单独购买授权,要么就得加入微软的软件保障服务计划,每月交一笔固定的升级费用。微软拒绝承认这是软件租赁,而将其称为“限期授权”。软件保障计划对那些想要从capex转向opex 的客户有所帮助,但从长期上看就显得过于昂贵了。不过,微软仍以虚拟化为卖点大力推行其软件保障计划。微软的产品Microsoft Application Virtualization (曾用代号SoftGrid)只通过软件保障计划对外发售。Vista企业版的发售渠道也是一样。Vista企业版是唯一无需购买多张安装盘就能在多个虚拟机上合法运行的Windows版本。该版本的授权允许用户在每台电脑上运行4个以内的Vista实例,或Windows老版本的实例。


  从长远来看,这无疑是敦促用户升级到Vista的一个有力手段,特别是由于虚拟化本身可以解决许多应用程序的兼容性问题。但是,Windows操作系统的一些新功能之间仍然存在不少兼容性问题,尤其是在权限管理服务(Rights Management Services)和BitLocker加密技术之间。微软的授权禁止这两个功能在虚拟化环境中运用,因为目前的管理程序并非针对可信计算(Trusted Computing)安全模式而设计。早在2003年,微软就曾放言说,公司Palladium计划的部分内容,就是要打造一种支持高级功能的桌面管理程序,不过那可能要等到猴年马月去了。


  对于服务器而言,Windows的其他版本一次只能对一台机器提供授权——不管是物理机还是虚拟机。不想加入软件保障的Windows用户或是想运行虚拟Windows的苹果机用户,必须为Vista Business,Vista Ultimate或Windows XP等操作系统的每个实例购买单独的授权。这是非常昂贵的一笔开销,因为这些授权必须是针对正式版的,而非升级版或OEM版本。相对便宜的Vista家庭版则根本无法在虚拟机中合法运行。


  桌面虚拟化前途光明


  由于AMD 和英特尔在各自芯片上添加的硬件辅助虚拟化技术可应用于它们所有的产品系列——包括工作站和服务器的芯片,因此VMware式的虚拟化也将很快在桌面上大行其道。英特尔发布的vPro还为桌面虚拟化的发展起到了推波助澜的作用,桌面虚拟化对企业加强系统控制大有帮助:管理或者安全代理能够在独立于主操作系统的虚拟机上运行,这样就杜绝了恶意软件或用户修改配置带来的影响。


  英特尔并不直接进军管理或安全市场,而是选择了成熟的厂商作为合作伙伴,包括CA公司、Check Point公司、思科、蓝代斯克软件公司(LANDesk Software,下称蓝代斯克)、网威、赛门铁克公司(Symantec)和趋势科技公司(Trend Micro)等。公司最初的计划是,所有合作伙伴都提供在Windows CE上运行的管理代理,这些管理代理会同Windows XP或Vista主操作系统一起运行在一个定制版本的Xen管理程序上。然而,尽管vPro芯片在2006年9月就上市了,但目前只有联想集团提供了基于虚拟机的代理。根据蓝代斯克和赛门铁克公司的说法,推迟的主要原因是管理厂商不愿向微软支付Windows CE的授权费。于是,英特尔另寻他途,在去年5月宣布与红帽公司合作,用Linux来替代Windows CE,产品有望在2008年中期推向市场。


  对于改用多核CPU的Windows桌面用户而言,还有更好的好消息:微软按插槽数量授权的方式不仅适用于客户机,也适用于服务器;因此,Windows XP和Vista的所有版本都能充分发挥4核或更多核处理器的性能。不过,那些需要两个物理CPU的大功率用户可要注意了,尤其是在升级到Vista操作系统之前一定要谨慎。XP Pro版本能够支持双插槽,而Vista除Ultimate之外的所有版本都只支持单插槽。


  软件授权:随心所选


  在多数微软服务器产品的基本客户访问授权方式中,软件定价通常取决于能够访问服务器的人数或物理机数量。在这种传统模式之外,还有一些其他的方式:


  按内核授权:甲骨文以及IBM的 DB2、WebSphere、Domino和Tivoli采用的方式。厂商根据应用程序能访问的CPU内核总数来计费。


  按员工数量授权:太阳公司Java中间件采用的方式。企业按员工数量付费,不管使用这种产品的实际人数有多少。


  按内存授权:Appistry公司采用的方式。客户根据分区所需的内存付费。这种方式比较特别。


  计量授权:IBM的zSeries采用的方式。针对大型机,对某一区间内的计算能力采取固定收费,超出限额收取额外费用。对软硬件均适用。


  按人数授权:微软开发员网络(Microsoft Developer Network)采用的方式。你可以在任意数量的机器上随意安装和运行某一软件,但其他人要访问则必须获得单独的授权。


  按插槽授权:VMware公司、XenSource公司、Virtual Iron公司以及 Windows、Solaris和大部分商业Linux操作系统采用的方式。根据物理处理器的数量收费,不管处理器为何种类型。多数厂商从双插槽开始对增添的处理器进行额外收费。


  按值授权:甲骨文旗下的仁科公司采用的方式。根据公司的正式员工数量、收入及行业进行计费。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

李林
李林

相关推荐