销售电话: 1-800-867-1380

Azure 中的迁移生命周期概述

更新时间: 2014年4月

迁移生命周期是一种标准方法,可向你提供将应用程序和数据迁移到 的分步说明。主要迁移步骤包括分析阶段、应用程序迁移阶段、数据迁移阶段、测试和优化阶段以及操作和管理阶段,如下图所示。

本主题详细介绍每个阶段并提供指向详细信息的链接。

还在 虚拟机上支持 Oracle。有关更多信息,请参见 Azure 的 Oracle 虚拟机映像

作者:Kun Cheng、Selcin Turkarslan、Norberto Garcia
审校:Paolo Salvatori、Steve Howard、Stuart Ozer

这一阶段的目标是了解要求 解决方案的业务需要。确定业务目标后,查看现有的应用程序体系结构,以确定 与本地解决方案之间的主要差异,并确定你是否需要重新设计现有本地应用程序以满足 解决方案的业务需要。下面的任务和问题可帮助你创建迁移计划:

  • 定义业务要求:当应用程序在 上运行时,业务方案提出了许多潜在的问题:

    • 部署解决方案是否针对新的客户和用户?

    • 它是否需要多用户以支持多个客户?

    • 当数据承载在 Microsoft 数据中心而不是客户站点时,应用程序是否符合合规性要求?

    • 从体系结构和策略方面考察,哪些应用程序更适合云?

    • 哪种类型的迁移最适合我的应用程序:将整个应用程序和所有依赖项迁移到 ;或将一部分应用程序迁移到云而一些资源仍保留在本地;或将应用程序迁移到 Web 角色或辅助角色,这些角色具有在 虚拟机上能更好工作的依赖项。

    对这些问题的回答会影响应用程序设计为在 平台上发挥作用的方式。

  • 确定功能差异:是否不需进行任何更改即可在 中运行现有的应用程序?例如,对于本地 SQL Server 支持的功能, SQL Database (SQL Database) 并非全部支持。如果你要将使用 CLR(公共语言运行时)的本地应用程序移到 SQL Database,你需要通过将 CLR 逻辑从 SQL Server 移至应用程序层,或通过使用 SQL Database 支持的 TRANSACT-SQL 语句改写 CLR 逻辑,以重新设计应用程序。请注意,SQL Database 目前不支持 SQL CLR。

    从 2012 发行版开始,新虚拟机功能已添加到 中。借助 虚拟机,你可以将在 Windows Server 平台上构建的现有 SQL Server 应用程序迁移到 平台,而只需对代码进行最少量的更改或根本不需要更改代码。通过使用 虚拟机中的 SQL Server,管理员和开发人员仍可使用可在本地使用的相同开发和管理工具。虚拟机中关系数据库的性能取决于许多因素,包括虚拟机大小、磁盘的数量和配置、网络、数据库软件和应用程序工作负荷的配置。我们建议开发人员针对多个虚拟机大小和存储配置对应用程序进行基准测试,以选择最合适的虚拟机大小和存储配置。有关详细信息,请参阅迁移到 Azure 虚拟机中的 SQL Server

  • 准备性能和可伸缩性计划:许多旧式应用程序设计为在应用程序逻辑与数据访问组件之间紧密集成。对于旧式应用程序,通过解除应用程序组件之间的关联,可以在 上获得更好的执行性能和可伸缩性。如果应用程序太烦琐或执行过多的数据查询,请考虑使用 Azure Caching Service 或实现你自己的缓存机制,以便批量处理数据访问查询并减少应用程序与数据之间的往返次数。如果要迁移的应用程序处理大型数据库或事务量很大,迁移到 SQL Database 可能要求重新设计数据库模型。这是因为单个 SQL Database 实例每秒可处理的事务数量有限,并且数据库大小也有限。在处理大型数据库或高交易量时,应考虑实施利用 SQL Database 中的多个数据库的扩展体系结构,或开始使用向外扩展方法,而不是在本地使用昂贵的扩展系统。也应考虑对具有高事务量的表实现内存中 OLTP 或延迟的持久性,作为一种性能改进方法。有关内存中 OLTP 的更多信息,请参见内存中 OLTP(内存优化)。有关延迟的持久性的更多信息,请参见控制事务持久性

    有关在虚拟机中使用 SQL Server 时的性能注意事项的更多信息,请参见 Azure 虚拟机中的 SQL Server 的性能注意事项和白皮书 Azure 虚拟机中 SQL Server 的性能指南

    SQL Database 发布了 SQL Database 的有限高级预览版。通过为 SQL Database 及其辅助副本预留固定的容量,相对于现有 SQL Database Web 和企业版,该高级服务可为云应用程序提供更可预测的性能。有关 SQL Database 高级帐户的更多信息,请参见管理高级数据库SQL Database 高级预览版指导

  • 准备应用程序生命周期管理计划:务必考虑 上的应用程序版本控制和升级方案。根据你的服务级别协议,你可能必须维护应用程序的多个版本,以支持不同层次的客户。你可能还希望最大限度地减少在 上升级应用程序时的停机时间。我们建议你仔细地维护 上的暂存环境和生产环境。请确保在出现兼容性问题的情况下能够回滚升级。你的升级回滚计划首先应涵盖应用程序,然后涵盖你的数据库。

在这一阶段之后,我们建议你生成一个试运行项目,因为它可让你清楚地了解 平台服务和工具。

在你决定将应用程序迁移到 中后,首先以具有极少量数据的应用程序试运行版本开始,以建立概念证明。首先,在应用程序中实施必要的代码更改,以满足 部署在业务和技术要求方面的目标。然后,编译应用程序代码并将其部署到 上的适当角色。

一般而言,大多数现有的本地应用程序只需极少更改或无需更改,即可在 云服务中运行,但这可能带来一些性能、可扩展性和安全性方面的问题。若要优化性能并使将来可进行伸缩,我们建议你在迁移到 云服务之前,考虑通过使用多个角色重新设计你的应用程序。有关详细信息,请参阅Azure 云服务的开发注意事项。我们建议你先将整个应用程序移到 云服务,然后移动数据。由于安全性、性能或其他原因,应用程序的某些部分可能需要在本地处于运行状态。这就需要混合解决方案。有关详细信息,请参阅使用 Azure 构建混合解决方案

如果你决定使用 虚拟机 (VM) 中的 SQL Server,则修改现有的 SQL Server 应用程序,以便连接到 VM 中的 SQL Server 数据库。此外,采用以下迁移方法之一:

  • 你可能有已在现有虚拟机中运行的应用程序。你可以将此虚拟机迁移到 。在这种情况下,你的应用程序、它的配置设置和数据已在此虚拟机中。但是,这可能要求将大的 .vhd 文件上载到 。此外,现有虚拟机上可能有一些驱动程序和硬件依赖项,它们可能在 中不可用。

  • 你可以在 中构建虚拟机。为此,你可以从已包含 SQL Server 的映像库启动虚拟机。然后,将你的应用程序安装到此虚拟机。这将减小上载时间并删除驱动程序和硬件依赖项,但是需要安装应用程序和上载数据。

有关如何将现有 SQL Server 数据库迁移到 VM 中的 SQL Server 的详细信息,请参阅主题迁移到 Azure 虚拟机中的 SQL Server

如果你使用 云服务,则将关系数据从本地 SQL Server 移到 SQL Database,并将非结构化数据移到 存储(如 Blob、表或 驱动器)。有关详细信息,请参阅 将数据迁移到 Windows Azure 中的表和 Blob将 SQL Server 数据库迁移到 Azure SQL Database

如果你决定使用 虚拟机中的 SQL Server,可能采用以下两个迁移方法之一:

  • 你可能有数据在现有虚拟机中。你可以将 .vhd 文件中的现有虚拟机上载到 。

  • 你可以在 中构建虚拟机。然后,你可以将 .vhd 文件中的数据上载到 。接着,你可以将此上载的 .vhd 文件或空磁盘作为数据磁盘附加到虚拟机。你可以使用这些数据磁盘来存储 SQL Server 日志和数据文件。此外,你可以使用迁移到 Azure 虚拟机中的 SQL Server主题中所述的工具和方法来将现有 SQL Server 数据库迁移到 虚拟机中的 SQL Server。

在将应用程序和数据迁移到 中后,执行功能和性能测试。在此阶段,你将在云中测试你的应用程序,并确认它按预期方式工作。然后,将比较本地与 之间的性能结果。之后,解决云应用程序中出现的任何特性、功能、性能或可伸缩性问题。有关详细信息,请参阅实施 Azure 的迁移计划

在测试和优化阶段之后,通过 诊断程序设置和实施应用程序监视和跟踪。通过使用 诊断,你可以从在 上运行的应用程序中收集诊断数据。可以使用诊断数据进行调试和故障排除、性能测量、资源使用情况监视、通信流量分析和容量规划以及审核。有关详细信息,请参阅 MSDN 库中的 Azure 中的诊断和调试

如果你需要在本地与 SQL Database 之间或在不同 SQL Database 服务器之间同步数据,请设置和配置 SQL 数据同步(预览版)服务。此外,我们建议你设置并配置数据恢复计划,以防出现用户错误或自然灾害。有关详细信息,请参阅针对 Azure SQL Database 的高可用性和灾难恢复注意事项

另请参阅

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft