什么是应用迁移?
应用迁移是指将应用从一个计算环境迁移到另一个环境的过程。
IBM Cloud 图形横幅
什么是应用迁移?

应用迁移是指将软件应用从一个计算环境迁移到另一个环境的过程。 例如,可将应用从一个数据中心迁移到另一个数据中心,从本地服务器迁移到云提供商环境,或从公有云迁移到私有云环境。

由于应用通常设计为在特定网络架构中的特定操作系统上运行,或者是针对单一云平台开发的,因此将应用迁移到新环境可能会带来一系列挑战。   通常,从虚拟化的架构或基于服务的架构迁移应用比迁移在裸机硬件上运行的应用要简单一些。

确定总体应用迁移战略时,要考虑每个应用的依赖关系和技术需求,以及企业在安全、合规以及成本方面的限制因素。

即使在相同的技术环境中,不同的应用也可能采用不同的云迁移途径。 从云计算早期开始,开发人员就用以下术语表示这些应用迁移模式。 

更换主机: 也称为直接迁移,这是一种常见的战略,是指企业将应用从本地服务器迁移到云中的虚拟机 ,而不做任何重大变更。   为应用更换主机的速度通常比其他迁移战略更快,并且可显著减少迁移成本。 缺点是应用未作修改,因此无法得益于云原生计算能力,在云端长期运行这些应用最终可能会产生更高的成本。  

重构或重设架构: 重构是指对应用进行重大更改,使其可以在云环境中更有效地扩展或运行。 这可能包括对应用的主要部分重写代码,使其能够更有效地利用云原生功能,例如将单体式应用重新构造为一系列微服务,或对 SQL 数据存储进行现代化改造,使其成为 NoSQL。

更换平台: 介于直接迁移和重构之间的一种方法,更换应用的平台需要对应用进行重大更改,使其能够从云架构获得更多收益。 示例包括:升级应用以使用云原生管理数据库,更改应用所使用的操作系统或中间件,或者使应用实现容器化。

淘汰/取代: 在某些情况下,直接淘汰应用是最合理的做法。 这可能是因为其价值有限;环境中的其他地方已存在重复的功能;或者与迁移应用相比,由新产品(通常是软件即服务 (SaaS) 平台)取代它的性价比更高。

应用迁移战略

要制定最合适贵组织独特 IT 环境和业务需求的应用迁移战略,必须清楚了解组织中的应用组合、安全与合规要求的具体内容、当前使用的云资源以及本地存储、计算和网络基础架构的状况。

为成功进行云迁移,还需要了解关键的业务推动因素,确保战略与这些因素保持一致。   需要弄清楚为什么要迁移到云以及希望通过这种转变达到什么目的。

在下面的视频中,Andrea Crawford 详细介绍了云迁移:

应用迁移风险

利益相关方可能会担心应用迁移导致业务中断或产生意外成本。 最常见的风险包括:

  • 不可预见的技术挑战:例如,应用可能有很多依赖关系,重构或更换平台可能远比最初预想的更复杂、更耗时。 

  • 意外成本:如果规划不当,企业可能会产生未列入预算的意外成本,例如,新的许可费用,或者为了让员工快速熟悉新工具而进行培训的成本。 

  • 意外宕机:对应用进行重大更改可能会导致冲突或问题,造成应用和所连接的系统或依赖系统意外宕机。 

  • 文化问题或变更管理困难:不同的组织使用应用的方式各不相同,这些差异可能会导致摩擦,从而减缓迁移项目的速度。 

无论是更换主机、重构还是淘汰产品组合中的应用,都需要围绕相关风险和收益开展仔细而全面的评估,这样有助于降低与应用迁移相关的总体风险。 尤其是,一定要比较部门级成本与企业总成本,并评估将应用保留在本地所需的任何硬件的总体拥有成本 (TCO)。

不断变化的应用迁移用例

过去几年,企业一直在想方设法将应用迁移到云端,因为他们希望获得云提供商所带来的灵活性、可扩展性或可预测的按使用量付费的成本结构。

而如今,他们还希望环境能够支持创新。 无论这是意味着使用高性能处理器以支持深度学习算法,还是部署容器化应用,帮助开发团队快速实施变更以改善客户的数字化体验,云技术始终支持企业尝试新生事物,检验新的奇思妙想,以及更快地进行试错和摸索。 在许多情况下,相较于可能被取代的虚拟机,容器化等云友好型技术能够为最终用户带来更出色的体验。  

应用迁移阶段

一般来说,应用迁移规划流程可以分为三个阶段。 在每一个阶段,必须权衡所有潜在方案的成本,包括选择将某些工作负载保留在本地,这一点至关重要。

应用确定与评估。 在这个初始发现阶段,首先要确保掌握产品组合中所有应用的完整目录。 然后,根据应用是否为业务关键型、是否具有战略价值以及将应用迁移到云端的目的,对应用进行分类。 必须尽可能了解每个应用在以下方面的价值:

  • 对业务的影响

  • 满足关键业务需求的能力

  • 数据的及时性和重要性

  • 规模、复杂性和易管理性

  • 维护和开发成本

  • 迁移到云可以增加的价值

然后,针对考虑要迁移的每个应用,进行云亲和力评估。 在这个过程中,可以确定哪些应用准备按原样迁移,哪些需要进行重大更改后才适合在云端使用。

还可以借助应用依赖关系发现工具,确定将特定工作负载迁出当前环境的可行性。

总体拥有成本 (TCO) 评估。 确定云迁移项目的总成本是一项复杂的工作。 需要比较将应用和基础架构保留在本地的“假设”方案和迁移到云端的相关方案。 这意味着需要计算任一方案中,保留在本地的硬件的采购、运营和维护成本以及软件许可成本。

需要比较任一方案中,云提供商月度账单的成本和迁移本身的成本,包括测试新基础架构和培训员工使用新软件的成本。 别忘了保留在本地的原有应用的维护成本。

总体风险和项目持续时间评估。 在迁移规划的最后阶段,须制定项目时间表,确定可能会遇到的任何风险或障碍。

迁移原有应用

一般来说,应用越老旧,迁移到云端的难度也就越大(因此,价值也可能越低)。 过时的软件存在许多方面的问题:维护成本高,停止补丁更新后会引发安全问题,以及在现代计算环境中性能较差。 在决定是否迁移原有应用之前,必须首先对其开展全面的评估。

评估迁移候选项

当组织评估应用的迁移可行性和优先级时,须考虑以下问题。

复杂性:应用是在哪里开发的?  如果是在企业内部开发的,开发人员是否仍在贵公司工作?应用的文档是否持续可用?应用是什么时候开发的?   已经用了多久?组织中有多少其他应用或工作流程在某种程度上依赖该应用? 

关键性:每天有多少用户依赖于该应用?  每周呢?在造成业务运营中断前能够承受多长的宕机时间?该应用用于生产、开发、测试还是全部这三种环境?该应用是由内部 IT 团队还是由外部供应商管理?是否有其他应用的运行/停机必须与该应用同步?    

合规性:该应用必须遵守哪些法规要求? 

可用性:该应用必须符合哪些正常运行率标准?  例如,它是否要达到服务级别协议 (SLA) 所规定的 99.99% 的正常运行率?

测试

为了确保应用迁移过程中没有数据或功能损失,必须在迁移期间进行测试,以验证所有数据都存在、数据完整性得以保持以及数据现在位于正确的存储位置。

同时,还必须在迁移完成后进行跟进测试,确定应用性能基准,并确保安全控制措施落实到位。

 

虚拟机管理器之间的应用迁移

虚拟化是许多云迁移战略中的一个基本组成部分,因为虚拟机可以方便地在新的物理硬件环境中运行。  甚至还可以在物理主机之间迁移在虚拟机上运行的实时应用,而不会干扰最终用户的体验。 虚拟化计算环境的灵活性和多功能性极大地简化了应用迁移过程。

虚拟机管理器的类型和迁移操作

目前可用的多种复制和迁移解决方案使客户能够在裸机服务器、云中的虚拟服务器甚至虚拟机管理器之间迁移虚拟机。  

  • VMWare 应用迁移:可将在本地 VMware 实例上运行的虚拟机直接迁移到在私有云中运行的 VMWare VCenter Server,而不会中断运营、导致停机或要求重新配置应用。 

  • Red Hat 应用迁移:Red Hat 提供了应用迁移工具箱,这是一个可自定义而且可扩展的软件解决方案,用于分析 IT 环境以确定应用的相互依赖关系。 它提供仪表板样式的分析报告,重点指出可能会在迁移期间遇到问题的应用。
云迁移服务

许多服务可用于帮助企业制定战略和计划,以及成功执行云迁移。

迁移蓝图:通过全面的蓝图服务,供应商可以帮助您厘清迁移战略和目标,收集有关应用和环境的信息,发现用户和业务的需求,并制定迁移的详细行动计划。 

迁移部署: 如果您选择管理部署服务,那么供应商不仅可以帮助您制定迁移战略和计划,还会管理迁移过程本身,执行任何相关的测试和故障排除任务。 这通常是完整的服务,包括全面的端到端支持。

云管理服务:云管理服务通常包括对基于云的 IT 环境进行监控和维护。  云管理服务提供商将承担多项职责,包括管理云安全性,以及代表您从供应商那里采购即服务产品。 应用迁移服务可包含在成套的服务产品中,也可以按需添加。

应用现代化:应用现代化服务包含自定义的开发服务,通过修改原有应用,使之能够在容器或虚拟化环境中运行,为原有应用在云环境中的使用做好准备。    

相关解决方案
云迁移服务

IBM 云迁移服务可帮助企业处理云迁移,从而使您可以将精力放在其他方面的重要工作上。

探索云迁移服务
资源 什么是云计算?

云计算将 IT 基础架构转型为公用事业形式:借助云计算,可通过互联网"插入"计算资源和应用,而无需在本地进行安装和维护。

什么是云迁移?

云迁移是指将组织的数据、应用和工作负载迁移到云基础架构的过程。

什么是应用现代化?

如今,应用现代化主要是指将原有的单体式应用改造为基于微服务架构的云应用。

采取下一步行动

IBM 云迁移服务可帮助您在云端迁移工作负载,实现数字化转型。 我们支持更换主机模式,包括大规模迁移、映像迁移、应用迁移、数据库更换主机、数据迁移和存储迁移。 我们的声明式持续迁移方法在每个阶段都内置了自动化功能,可帮助您顺利完成迁移之旅的各个阶段。

了解更多信息,开始迁移之旅