希望使用云作为运行他们部分或全部应用程序的计算平台的IT部门必须首先把那些应用程序迁移至云。这项任务却是知易行难的,因此很多企业把目光正在转向渠道合作伙伴以寻求帮助。但是,随着客户越来越多地向渠道寻求帮助以便实现某些业务功能的云化,应用程序迁移任务需要多种的技能和适宜的心态,而这正是传统合作伙伴可能缺乏的。
多年以来,企业客户们已与他们的解决方案供应商建立了密切的合作关系,使用战略资源来满足他们的传统软硬件需求,THINKstrategies的管理总监Jeff Kaplan说。“当他们听到云的好处并转而向他们的解决方案供应商寻求帮助时,那几乎就是一个下意识的冲动,”他说。“不幸的是,在很多情况下,传统的渠道合作伙伴们并没有跟上这一云化的步伐。他们要么还在埋头做着他们一直以来都在干的活,要么根本就没有注意到这样一个云的发展趋势,又或者他们感受到了云带来的威胁,因为他们受雇帮助企业选择和部署”软硬件并确保它们能够正常运行。
一些传统的合作伙伴错误地认为,一旦实现了应用云化,那么维护它们就不需要再花费太多的功夫了,Kaplan说。然而,一旦应用程序完成了云迁移,渠道供应商仍然有机会提供管理/监控支持,以及解决可能发生在基于云的系统中的任何问题。
对于那些很愿意管理他们客户基于云的系统的渠道企业来说,把应用迁移至云可能需要对现有软件的代码大动干戈,在某些情况下,运行数据集成连接器将连接至软件即服务解决方案并在云迁移过程中对数据进行调整,Kaplan说。
“你需要从小处入手并逐步增加”实施迁移的应用数量,他说。“这是这些云服务中最吸引人的一部分:你不必在实施前期投入过多和冒太多风险。”
典型的云迁移
软件与服务企业“云计算技术合作伙伴公司”(CTP)在过去四年中一直都在从事云迁移服务工作。目前,随着更多的客户正在由战略规划阶段进入具体实施阶段,该公司的业务量也正在日益增加,CTP的高级副总裁John Treadway说。
应用程序云迁移的具体工作量主要取决于客户及其业务的类型,Treadway说。在开始阶段,客户需要调整它们的心态:无论客户是选择使用诸如亚马逊网络服务(AWS)这样的公共云还是私有云,其运行应不同于企业用户之前的使用习惯,Treadway说,所以IT部门首先需要了解并熟悉维护他们所需服务等级的监控工具和流程。他们还需要了解,企业用户对服务等级的业务期望,维持原有水平的性能和安全性,“满足这些期望的方法通常需要不同的流程、工具、技能以及对应用程序与基础设施内部运行机制的更深入了解,”Treadway说。
作为一个例子,在传统IT部门中实现可用性通常需要深入关注基础设施、开发和管理冗余等等方面,他说。“在云中,你通常不需要直接控制基础设施——所以你需要把可用性管理移至应用层。”
作为对Kaplan的回应,Treadway表示,“他们从一些简单的、低风险的应用程序开始,并注意在实施过程中不断学习总结,然后再进入下一个新的水平。……所以他们正在做的与我所说的不谋而合,即这是一个渐进的过程,需要小心谨慎的前行。”
CTP确实对客户想要进行云迁移的应用程序进行了组合分析以确定应用代码修改所需的工作量。当一家企业想要把数以百计的工作负载迁往云时(例如,整个数据中心的固化),“所涉及的工作量……有时候只是简单迁移,所以我们使用了一套工具来捕获工作负载。”这些工作负载通常都是在虚拟环境中运行的,所以在把它们迁往云环境之前可能并不需要对其进行代码修改。
“在我们开始迁移应用之前……它就好像是一个开发过程,你必须确保它已一切准备就绪,并确保一组核心功能已到位,”他说。例如,如果客户想要把一个应用程序迁移至如AWS这样的公共云,那么CTP就必须确保实现这一目标的所有相关连通性、网络和工具均已到位,Treadway说。
由于很多企业已经实施了把部分应用从物理环境迁移至虚拟环境的工作,所以这些迁移工作的实施通常都会很顺畅,相关的应用程序也能够在AWS上运行良好,Treadway说。“在基础设施即服务(IaaS)的公共云中正常运行应用程序并没有很多的技术障碍,这是因为你只是把应用程序从一台虚拟机迁往至另一台虚拟机。”我们并不需要对它们进行大量的分析工作和重新编码。
一旦CTP捕获了迁移工作所涉及的工作量,它就会把工作负载迁至AWS,然后进行检查以确保它们能够顺利运行。他表示,如果CTP能够并行开展工作,那么企业就能够在一天内完成多个应用的云迁移工作。这主要取决于这***程中所涉及的相关人员数量以及如何激励客户完成这一工作。
CTP公司目前已完成了多个云迁移服务项目,其中有一次在50天内完成了50个应用程序的迁移工作。一旦CTP投入时间让客户做好配置、相关工具到位,相关准备就绪,那么“整个迁移工作是能够快速完成的。”其中重要的是,确保测试和保持迁移工作的高质量,他强调说。“一旦你做到了这一点,50个应用程序本身……在大约两到三个星期的时间内就能够完成迁移任务。”
企业用户将把部门的、商用的现成应用程序和专为非内部部署应用而开发的定制应用程序迁移至云。其中,很多的应用程序都是相当小的,有些是诸如WordPress或Drupal这样的内容管理系统,而有些则是使用Java语言开发的定制应用程序,他说。“他们更倾向于不迁移那些或大型的、或复杂的、又或者迁移风险较大的关键任务应用程序。”
迁移复杂性详解
对于那些复杂的特殊迁移工作,Treadway表示他花费了更多的时间来详细分析每一个应用——如应用架构、部署规模,应用与其本身和企业中其他系统的交互方式等。“你必须深入研究这些更大规模应用的架构,并在编码层次很好地理解它们。”他表示,CTP会更深入地关注安全性问题,从而确保应用能够恰当地用好云以便于它在应用高峰时段能够自如按需扩展。
“这可不是一件小事,所以你必须分析和理解它的需求以确保它能够在云中实现成功,”他说。“虽然它是可以运行的,但是如果我只是完成迁移便听之任之,那么它始终都无法实现云部署的***化。”
他表示,CTP着眼于***的、***云特点的设计模式和编程实践,然后分析客户的应用程序“以便于揭示差距,而这也正是改进应用的机遇所在。”
“要么客户自行进行代码修改,要么由我们来完成这一工作,或者有时候让内部开发团队和客户开发团队先后完成这一工作。”
大多数的应用程序都能够在云中运行得像在内部部署中一样正常,Treadway说,通常无需对应用进行很大的修改。“也就是说,如果应用程序越大、越复杂、越是执行关键任务,那么进行这样一个深入分析工作的价值也就越高,进而进行重大代码修改、运行和架构改进的重要性和必要性也是更加突出。”
与CTP一样,Claris Networks也经常为客户提供公共云迁移服务,因为这项服务确实具有较高的经济意义,产品开发经理Dan Thompson说。
Claris Networks的***市场是医疗领域。电子病历(EMR)系统是该公司实施云迁移中最常见的一类应用。通常情况下, Claris Networks都会把EMR系统的供应商纳入其数据迁移计划中,并确定它们是否能够提供一个相关的云产品, Thompson说。如果系统供应商无法提供相应的云产品,那么Claris Networks就必须对应用进行重新开发,“这往往是一个更加艰难的道路。”
“你必须重新进行编码工作,”Thompson说。“我们已经帮助了很多客户进行了应用程序的再次开发,这是非常有难度的一项工作。”
在一个案例中,对于客户一个用于归类图纸的文档管理应用程序, Claris Networks 使用了一个源于Salesforce的编程接口。“当我们把应用程序迁移至云时,这个应用程序仍然在执行着管理他们的文档的功能,但它看上去是截然不同的。”也就是说,两个应用的功能是相同的,但是两者是完全不同的应用了,他说。
很多时候,他认为公司更倾向于迁移客户的整个服务器,而不仅仅只是业务应用。“我们发现,把一切降至操作系统层将更具实际意义,”他说,因为我们的目标就是要确保相同的用户体验和熟悉的系统。
“它将变得混乱,因为无论是你自己的员工还是客户的员工都必须能够重新开发应用。"通常情况下,双方的员工可能都不具备编程方面的专业知识。“我们的意见是,迁移一切要比只迁移应用更容易。”