

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 云的路径
<a name="cloud-paths"></a>

本节介绍一种用于实施将您的 Windows 应用程序迁移到 AWS的最佳实践的高级方法。本指南的后续章节将详细介绍这些迁移策略和步骤。

## 迁移策略
<a name="migration-strategies"></a>

迁移策略是用于将工作负载迁移到 AWS Cloud的方法。将应用程序迁移到云有七种迁移策略。这些策略称为 7R，是在 Gartner 于 2019 年提出的 [7 R](https://www.gartner.com/smarterwithgartner/7-options-to-modernize-legacy-systems) 的基础上发展而来的。
+ **重新托管（直接迁移）**：将应用程序迁移到云，无需进行任何更改即可利用云功能。
+ **重新定位**（虚拟机监控器级直接迁移）：将基础设施迁移到云中，无需购买新硬件、重写应用程序或修改现有操作。
+ **更换平台**：将应用程序迁移到云，并进行一定程度的优化，以利用云功能。
+ **重新购买**：转换到其他产品，通常是从传统许可转向软件即服务（SaaS）模式。
+ **重构/重新架构**：充分利用云原生功能来提高敏捷性、性能和可扩展性，以迁移应用程序并修改其架构。
+ **保留**（重访）：将应用程序保留在源环境中。其中可能包括需要进行重大重构的应用程序，并且您希望将工作推迟到以后，以及您希望保留的遗留应用程序，因为迁移它们没有商业上的理由。
+ **停用**：停用或删除源环境中不再需要的应用程序。

## 主要转换
<a name="main-transformations"></a>

在对遗留 Windows 应用程序和数据库进行现代化改造时，会进行以下主要转换：
+ **重新托管**：第一步是将本地基础设施迁移到云基础设施。此策略通常称为“直接迁移”或重新托管。重新托管意味着将现有应用程序和数据库迁移到云服务器实例。无需更改代码，您负责管理实例配置、软件映像和其他资源。
+ **更换平台**：迁移到云环境后，下一个转型是将应用程序和数据库更换平台为更加自动化和可管理的环境。从应用程序的角度来看，这意味着要从虚拟机 (VMs) 迁移到容器或托管应用程序平台。容器化应用程序可以帮助您更快地开发、维护和部署应用程序，并提高可移植性。或者，[AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html)提供可自动处理容量配置、负载平衡和扩展的托管平台。这可以帮助您在最少的基础架构管理下重新构建应用程序，而无需对其进行完全容器化。在数据库方面，从自助服务模式转向托管式数据库服务（例如 Amazon RDS for SQL Server），无需进行预调配、修补和备份。这可以腾出资源用于可以为您的组织增加更多价值的活动。
+ **重构/重构架构**：第三个转型领域是从商业软件许可转向开源选项。许多传统商业软件供应商都围绕软件许可协议建立业务，这些协议旨在锁定客户并使用惩罚性的许可条款来强制升级和迁移。通常情况下，商业软件许可费会在同等开源选项的基础上增加 20-50％ 的成本。我们建议重构您的应用程序和数据库以利用开源选项，以便您可以降低成本、提高性能并获得最新的创新成果。

您可以分阶段或一次性完成这些主要转型领域，具体取决于您的应用程序和现代化的总体准备情况。

## 选择迁移策略
<a name="choosing-migration-strategy"></a>

要选择的迁移策略取决于贵组织的业务和 IT 目标。一些最常见的业务驱动因素是降低成本、降低风险、提高效率、填补技能差距及加快创新。我们建议您评估哪些驱动因素对您很重要，然后使用以下指引根据您的驱动因素选择迁移策略。另外，请记住，这三种方法都是您云现代化之旅的可行路径，具体取决于您在旅程的每个阶段的优先事项。

### 何时重新托管
<a name="choosing-migration-strategy-rehost"></a>

重新托管（或直接迁移）通常更快、更容易，因为您无需在应用程序中更改代码或架构。重新托管还可以最大限度地减少风险和业务中断。由于应用程序未更改，因此运营团队可以继续照常运营业务。对于大规模迁移尤其如此，因为涉及大量工作负载，即使是很小的更改也会变得很重要。但是，重要的是要考虑到，重新托管并不能充分利用云优势。例如，如果您迁移的应用程序存在平台问题，该问题将在迁移后仍然存在。最后，值得考虑的是，与其他迁移方法相比，重新托管的总拥有成本（TCO）和投资回报率（ROI）更低。

### 何时进行更换平台/重新架构
<a name="choosing-migration-strategy-replatform"></a>

更换平台通常比重新托管更具成本效益。您可以使用更换平台来增强自动化，使您的应用程序能够更好地使用云功能，例如自动扩缩、监控和执行备份。更换平台减少了云运营团队的运营开销，并最大限度地降低了先前存在的平台问题带来的风险。但是，更换平台比重新托管迁移需要更长的时间。此外，更换平台需要额外的技能来配置在应用程序上执行代码更改的自动化并使新平台投入运营。

### 何时重构
<a name="choosing-migration-strategy-refactor"></a>

重构通常是最具成本效益的迁移方法。重构是一种云原生方法，它通过解耦应用程序组件来提高应用程序韧性，从而使应用程序能够快速适应新的需求。但是，重构需要更高级的编码和自动化技能。重构还需要更长的时间才能实现，因为它涉及重建应用程序。