迁移不是云计算面临的唯一障碍

云计算是2009年的”热门”概念。它确实有其一席之地,尤其是对开发高风险/低资本应用程序的机构(如新兴公司、小企业或网站)而言;但是对企业计算、尤其是用来改进现有的核心应用程序而言,我却持比较怀疑的观点。
  作为一种概念,云计算指明了未来的发展方向,但是目前存着太多炒作的成分。正如《Datamation》杂志的James Maguire最近所说的那样:”随着云计算成为一股热门趋势,各色各样的技术厂商都给自己的产品贴上’云’这个标签,就好像各品牌的食品厂商都声称自己是’低脂肪’。”
  云计算概念对遗留的企业应用程序来说不切合实际,这点很简单。云计算只是解决业务问题的另一个技术方案而已。这类技术方案想解决非技术问题,通常解决不了原有的问题。它们本身往往只会带来更多问题,几乎不可避免地带来更大的复杂性需要加以管理,但IT人士追捧云计算。他们认为它就是一剂良方,可以立马排忧解难,这样的诱惑力确实很难抵挡。”云计算”正是如此。
  我们这里谈论的云计算是指可以在互联网上提供及配置分布式基础架构:能够”在任何地方”进行处理,这是该术语目前得到公认的定义。我们这里不是谈论软件即服务(SaaS),而”云计算”最初所指的也许就是SaaS――尽管SaaS是云计算名正言顺的一部分,因为它并不适用于遗留应用程序的迁移。
  云计算是那些适用于各个应用程序的大肆炒作的术语之一,所以为明确起见,内部网格、主机托管计算或者似乎可归入”云计算”这一类的其他众多计算模式也不在讨论范围之内。
  我们谈论的是可以在网上移动的基础架构,包括企业边界外部的基础架构以及按需提供资源的服务商的基础架构。可以用一个缩略语来形容这种基础架构:PPDCaaS,全称平台、处理、数据和通信即软件(platform, processing, data and communications as a service)。
  知名的开源专家之一Bernard Golden曾在其《反对云计算的理由》一文中发表了一些值得关注的观点,具体介绍了采用云计算面临的障碍。他认为云计算存在五大障碍,而首当其冲的正是迁移。他的眼光颇为敏锐,不过对解决遗留应用程序的迁移问题持乐观态度,而且认为这个障碍可以得到克服。不过我对此持比较怀疑的态度。
  荒唐可笑的观点
  Golden写道:”据我采访过的一个人表示,把应用程序从内部数据中心迁移到云计算平台是促使企业热衷于采用云计算的主要因素;但是一旦它们发现把应用程序迁移到外部云有多么困难,原本高涨的热情就会渐渐消退。当然,云服务提供商在技术上似乎完全有能力开发出物理到云(P2C)迁移工具,从而处理迁移所必要的全部或大部分技术工作。当然,这种工具需要能够兼容几种不同的云架构。”
  Golden继续写道:”即使自动化工具没有开发出来,还是可能会涌现出能够高效、低成本地执行迁移服务的服务提供商。执行这种迁移工作自然不会是免费的;要么是购买软件,要么是购买服务。关键在于,这并不是不可逾越的问题,而是难度有限的问题。”
  可是难度相当大。迁移服务不会成本很低廉。恐怕没有哪位公司主管愿意冒这样的险:不进行全面的重新测试,就进行这样的迁移工作。工作量相当大:想想千年虫问题吧。那时我们改变的还只是数据格式而已。置身于Web 2.0时代的人们忘了企业计算的实际状况。改动代码这项工作很容易。老早以前IBM就有一张通俗易懂的图,类似于本文所示的这张图。对代码进行改动的技术工作只是整项工作的一个极小部分(而那张图不包括工作量越来越大的日常管理)。
  十五年前,一家大银行对升级大型机数据库当时带来的问题感到了厌烦。于是委托了一个小组评估把Forex应用程序转换成IBM公司DB2数据库的可行性。早在那个时候,仅仅Forex系统(而不是整个银行的系统)所需的成本就要5000万美元,这还没有考虑仅仅为了让DB2从内部环境转移到云环境(当然这正是IBM的心意)而需要的大规模硬件升级带来的隐形成本。于是,这个念头就此打消。
  大多数拥有服务的用户不愿让IT部门对企业应用程序彻底改头换面,重新设计架构;对云计算而言,成本高得让人望而生累,结果却没有给公司带来任何变化。如果IT人士抛开技术思维、开始客观地关注服务,他们就会发现:对付费的客户而言,大把的钱用来处理原本就存在的IT问题上,没有带来任何新服务。
  基于云计算的服务
  有些人会拿不需要改动代码的云服务来做挡箭牌;这种服务在操作系统、网络或存储等层面运作,把服务请求转到外面的云环境来处理。虽然这的确在一定程度上简化了问题,但还不够简化。缓解风险所需要的规划、洽谈和测试工作量仍一样大――仅仅为了解决业务用户预计难以察觉的削减成本、可扩展性和性能等问题就是重大障碍。
  同样,解决互操作性问题不是解决之道。云计算互操作性论坛(CCIF)得到了一些知名厂商的支持,但在这方面只取得了很小的进展。同样,国际标准化组织(ISO)也在关注这个问题。但这些组织都解决迁移问题都毫无帮助:不管我们进行了何种改动――无论是改动代码,还是改动底层的平台基础架构,都带来了重大变化。改动实际的企业应用程序需要庞大的工作量。这是不可避免的。毫无疑问,我们需要削减现有应用程序的成本、提高可扩展性。投入巨资、把我们现有的业务系统放到云中并不是正确的解决之道。
  很少有企业看清楚工作负荷会有如此大的差异,以至于需要求助于云来获取按需容量。有人认为让服务提供商来管理的话,成本理应比较低,这其实只是外包行业仍在拼命向人灌输的一个误解。如果算上所有的隐形成本,包括流失的知识产权、风险、迁移、项目推迟以及提供商方面的开销,云计算的优点就不再那么诱人。
  坐等也解决不了问题。有人可能会说,下一股技术浪潮会彻底解决整个问题,还不如说一群会飞的猪会轻而

txlhot  发表于: 2009-08-04

我要回答

相关推荐