您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

迁移到 Azure 的成本和大小工作负载的最佳实践

在针对 Azure 迁移进行规划和设计时,侧重于成本有助于确保其长期成功。 在迁移期间,所有团队 ((例如财务、管理和应用程序开发团队)都) 了解与此过程相关的成本,这一点很重要。

  • 在迁移之前,请务必对每月、每季度和每年预算目标使用基准,以估计要在迁移中花费的时间,并确保其成功。
  • 迁移后,应优化成本、持续监视工作负荷并规划未来的使用模式。 迁移的资源可能以一种类型的工作负荷开始,但由于使用情况、成本和变化的业务要求,因此,随着时间的推移,转换为另一种类型。

本文介绍了在迁移前后准备和管理成本和大小的最佳实践。

重要

本文介绍的最佳做法和意见以撰写本文时可用的 Azure 平台和服务功能为基础。 各种特性和功能随时间而变化。 可能并非所有建议都适用于你的部署,请选择合适的建议。

迁移前

在将工作负荷移动到云之前,估算在 Azure 中运行它们每月所需的费用。 主动管理云成本有助于符合营运费用预算。 如果预算有限,请在迁移前考虑这一点。 考虑根据需要将工作负荷转换为 Azure无服务器技术,以降低成本。

本节中的最佳做法可帮助你:

  • 估算成本。
  • (Vm) 和存储的虚拟机执行正确大小调整。
  • 使用 Azure 混合权益。
  • 使用 Azure 保留 VM 实例。
  • 估计每个订阅的云支出。

最佳做法:估计每月的工作负荷成本

你可以使用多个工具预测你每月的已迁移工作负荷帐单。

  • Azure 定价计算器: 选择要评估的产品,例如 Vm 和存储。 然后,将成本输入到计算器中以生成估算值。

    Azure 定价计算器的屏幕截图。 图1: Azure 定价计算器。

  • Azure Migrate: 若要估算成本,需要查看并考虑在 Azure 中运行工作负荷所需的所有资源。 要获取该数据,需创建资产清单(资产包括服务器、VM、数据库和存储)。 可以使用 Azure Migrate 来收集这些信息。

    • Azure Migrate 发现并评估你的本地环境,从而提供清单。

    • Azure Migrate 可以映射和显示 Vm 之间的依赖关系,这样就可以获得完整的照片。

    • Azure Migrate 评估包含估计成本。

      • 计算成本: 使用创建评估时建议使用的 Azure VM 大小,Azure Migrate 使用 Azure 计费 API 计算每月估计 VM 成本。 估计会考虑操作系统、软件保障、Azure 保留 VM 实例、VM 运行时间、位置和货币设置。 它将所有 VM 的成本求和,计算每月总计算成本。
      • 存储成本: Azure Migrate 通过聚合评估中所有 Vm 的存储成本来计算每月总存储成本。 可以按照如下方式计算某台计算机的每月存储成本:将连接到该它的所有磁盘的每月成本求和。

      Azure Migrate 图2: Azure Migrate 评估 的屏幕截图。

了解更多信息:

最佳做法:正确调整 Vm 的大小

在部署 Azure VM 时可选择多个选项以支持工作负荷。 每种 VM 类型都有特定的功能和不同的 CPU、存储及磁盘组合。 Vm 按下表中所示进行分组:

类型 详细信息 使用情况
通用 CPU 与内存之比均衡。 适用于测试和开发、小到中型数据库和低到中等容量的流量 web 服务器。
计算优化 高 CPU 与内存之比。 适用于中等容量的流量 web 服务器、网络设备、批处理和应用程序服务器。
内存优化 高内存与 CPU 之比。 适用于关系数据库、中到大型缓存和内存中分析。
存储优化 高磁盘吞吐量和 i/o。 适用于大数据、SQL 和 NoSQL 数据库。
GPU 优化 专用 VM。 单个或多个 GPU。 大量图形和视频编辑。
高性能 最快且最强大的 CPU。 具有可选的高吞吐量网络接口 (RDMA) 的 Vm。 关键高性能应用程序。
  • 了解这些 VM 之间的定价差异和长期预算效应非常重要。
  • 每种类型内都有多个 VM 系列。
  • 此外,选择系列中的某个 VM 时,只能在该系列内对该 VM 进行纵向扩展和缩减。 例如, DS2_v2 实例可以向上扩展到 DS4_v2 ,但不能更改为不同序列的实例,如 F2s_v2 实例。

了解更多信息:

最佳做法:选择正确的存储

优化和维护本地存储(SAN 或 NAS)以及支持它们的网络可能成本高且耗时。 为了帮助缓解运营和管理方面的问题,通常将文件(存储)数据迁移到云中。 Microsoft 提供若干将数据迁移到 Azure 的选项,你需要决定使用哪一个。 为数据选取适当的存储类型每月可为组织节省数千美元费用。 下面是一些注意事项:

  • 不是很多而不是业务关键的数据不需要置于最昂贵的存储上。
  • 反之,应将重要的业务关键数据放在更高层的存储中。
  • 在迁移规划期间,获取数据清单,按重要性对数据分类,以便将其映射到最适合的存储。 考虑预算、成本和性能。 成本不一定是主要因素。 选择开销最少的选项可能会向性能和可用性风险带来工作负荷。

存储数据类型

Azure 提供了不同类型的存储数据。

数据类型 详细信息 使用情况
Blob 经过优化,可存储大量非结构化对象,例如文本或二进制数据。

通过 HTTP/HTTPS 从任何位置访问数据。

用于流式处理和随机访问方案。 例如,直接向浏览器提供图像和文档,流式传输视频和音频,以及存储备份和灾难恢复数据。
文件 通过 SMB 3.0 访问的托管文件共享。 在迁移本地文件共享和提供对文件数据的多个访问/连接时使用。
磁盘 基于页 blob。

磁盘类型:标准 (HDD 或 SSD) 或高级 (SSD) 。

磁盘管理:非托管 (你管理磁盘设置和存储) 或托管 (你选择磁盘类型,而 Azure 会为你管理该磁盘) 。
为 Vm 使用高级磁盘。 将托管磁盘用于简单的管理和缩放。
队列 通过通过身份验证的调用 (HTTP 或 HTTPS) 来存储和检索大量访问的消息。 连接应用程序组件和异步消息队列。
存储表。 此数据类型是 Azure Cosmos DB 表 API 的一部分。

访问层级

Azure 存储提供用于访问块 blob 数据的不同选项。 选择适当的访问权限层,有助于确保以最经济高效的方式存储块 Blob 数据。

访问层 详细信息 使用情况
热访问层 存储成本高于冷。 访问费用低于冷。

这是默认层级。
用于使用中的数据,频繁访问。
存储成本低于热。 访问费用高于热。

至少 30 天的存储。
存储短期。 数据可用,但不常访问。
存档 用于各个块 Blob。

最经济高效的存储选项。 数据访问费用比冷热两个存储层高。
用于可容忍几个小时的检索延迟的数据,并将在至少180天内保持在层中。

存储帐户类型

Azure 提供了不同类型的存储帐户和性能层。

帐户类型 详细信息 使用情况
常规用途 v2 标准 支持 blob (块、页面和追加) 、文件、磁盘、队列和表。

支持 "热"、"冷" 和 "存档" 访问层。 支持区域冗余存储 (ZRS) 。
用于大多数方案和大多数数据类型。 标准存储帐户可以是基于 HDD 或 SSD。
常规用途 v2 高级版 支持 Blob 存储数据 (页 blob) 。 支持 "热"、"冷" 和 "存档" 访问层。 支持 ZRS。

存储在 SSD 上。
Microsoft 建议用于所有 VM。
常规用途 v1 不支持访问分层。 不支持 ZRS。 如果应用程序需要 Azure 经典部署模型,请使用。
Blob 专用存储帐户,用于存储非结构化对象。 仅 (没有文件、队列、表或磁盘存储服务) 提供块 blob 和追加 blob。 提供与常规用途 v2 相同的持久性、可用性、可伸缩性和性能。 不能在这些帐户中存储页 blob,因此不能存储 VHD 文件。 可以将访问层设置为 "热" 或 "冷"。

存储冗余选项

存储帐户可以为获得恢复能力和高可用性使用不同的冗余类型。

类型 详细信息 使用情况
本地冗余存储 (LRS) 从一个存储单元内复制到单独的容错域和更新域,防止出现本地中断。 在一个数据中心内保留多个数据副本。 在特定年份,提供的对象至少 99.999999999% (第11个 9) 对象持续性。 考虑你的应用程序是否存储可轻松重构的数据。
区域冗余存储 (ZRS) 通过在单个区域中的三个存储群集之间进行复制,防止数据中心服务中断。 每个存储群集都以物理方式分隔并位于其各自的可用性区域中。 通过将数据的多个副本保留在多个数据中心或多个区域,可在特定年份至少提供 99.9999999999% (十二个百分比) 对象的持续性。 考虑是否需要一致性、持久性和高可用性。 在永久影响多个区域时,可能无法防范区域性灾难。
异地冗余存储 (GRS) 通过将数据复制到离主区域数百英里的次要区域,防止整个区域的服务中断。 在特定年份, (16 个 9) 对象的持续性至少为99.99999999999999%。 在 Microsoft 启动故障转移到次要区域之前,副本数据不可用。 如果发生故障转移,读写访问权限可用。
读取访问异地冗余存储 (RA-GRS) 类似于 GRS。 在特定年份, (16 个 9) 对象的持续性至少为99.99999999999999%。 允许从用于 GRS 的第二个区域进行读取访问,从而提供99.99% 的读取可用性。

了解更多信息:

最佳做法:利用 Azure 混合权益

将本地 Microsoft 软件与 Azure 相集成的项目组合可为您提供竞争优势。 如果你当前具有通过软件保障的操作系统或其他软件许可,则可以使用 Azure 混合权益将这些许可证带到云中。

了解更多信息:

最佳做法:使用保留 VM 实例

大多数云平台使用即用即付支付模式。 此模型带来了一些缺点,因为您不一定知道您的工作负荷是多么动态的。 为工作负荷指明意图,有助于基础结构计划。

使用 Azure 保留 VM 实例时,需要为 VM 实例预付一年或三年的期限。

  • 预付向你使用的资源提供折扣。
  • 你可以显著减少 VM、Azure SQL 数据库计算、Azure Cosmos DB 或与即用即付价格相比的其他资源成本。
  • 预订提供计费折扣,并且不会影响资源的运行时状态。
  • 你可以取消预留实例。

将即用即付和 Azure 混合权益与预订实例进行比较的屏幕截图。 图3: Azure 保留 VM 实例。

了解更多信息:

最佳做法:聚合跨订阅的云支出

最终,你很有可能拥有多个 Azure 订阅。 例如,你可能需要用一个额外的订阅来为开发和生成划分界限,也有可能你的平台需要为每个客户端使用单独的订阅。 将跨所有订阅报告的数据聚合到一个平台,这是一项非常有用的功能。

为此,可以使用 Azure 成本管理 + 计费 API。 然后,将数据聚合到单个源(如 Azure SQL 数据库)后,可以使用 Power BI 之类的工具来呈现聚合数据。 你可以创建聚合订阅报表和粒度报表。 例如,对于需要主动理解成本管理的用户,你可以根据部门、资源组或其他信息创建特定的成本视图。 不需要向他们提供对 Azure 账单数据的完全访问权限。

了解更多信息:

迁移后

成功迁移工作负荷并在收集消耗数据后的几周内,你会对资源成本有清楚的了解。 在分析数据时,你可以开始为 Azure 资源组和资源生成预算基线。 了解云预算的开支分配情况后,便可以分析如何进一步降低成本。

最佳做法:使用 Azure 成本管理 + 计费

Microsoft 提供 Azure 成本管理 + 计费,有助于跟踪支出。 此服务:

  • 帮助监视并控制 Azure 支出以及优化资源的使用。
  • 查看你的整个订阅及其所有资源,并提出建议。
  • 提供了一个完整的 API,用于将外部工具和财务系统与报表集成。
  • 跟踪资源使用情况,并使用单个统一视图来帮助你管理云成本。
  • 提供丰富的运营和财务见解,帮助你做出明智的决策。

通过 Azure 成本管理 + 计费,你可以:

  • 创建财务问责预算。

    • 您可以在特定的时间段 (每月、每季度或每年) ,以及 (订阅或资源组) 范围内使用的服务。 例如,可以按月、按季度或按年创建 Azure 订阅预算。
      • 创建预算后,它将显示在成本分析中。 在分析成本和支出时,根据当前支出查看预算非常重要。
    • 你可以选择在达到预算阈值时发送电子邮件通知。
    • 可以将成本管理数据导出到 Azure 存储,以便对其进行分析。

    Azure 成本管理预算的屏幕截图。 图4: Azure 成本管理 + 计费预算。

  • 执行成本分析来探索和分析你的组织成本,了解成本的累计方式,并确定支出趋势。

    • 企业协议用户可以使用成本分析。
    • 可以查看不同范围的成本分析数据,包括按部门、帐户、订阅或资源组。
    • 你可以获取一份显示当前月份总成本和每日累积成本的成本分析。

    Azure 成本管理分析图5的屏幕截图 : Azure 成本管理 + 计费分析。

  • 获取 Azure 顾问建议,介绍如何优化和提高效率。

了解更多信息:

最佳做法:监视资源利用率

在 Azure 中,使用资源时付费,不使用资源时不付费,只需为使用的量付费。 就 VM 而言,则是在分配了 VM 时计费,解除分配 VM 后不会向你收费。 考虑到这一点,应监视正在使用的 Vm,并验证 VM 大小。

持续评估 VM 工作负荷以确定基线。 例如,如果工作负荷的使用时间为星期一到星期五,上午8点到下午6点,但在超过高峰时间的情况下,你可以将 Vm 降级。 这可能意味着通过更改 VM 大小或使用虚拟机规模集来自动纵向扩展或缩减 VM。 某些公司通过日历 "推迟" Vm,该日历指定何时应提供这些 Vm 以及何时不需要它们。

可以通过使用 Microsoft 工具(例如 Azure 成本管理 + 计费、Azure Monitor 和 Azure 顾问)来监视 VM 的使用情况。 还可使用第三方工具。

备注

除了 VM 监视之外,还应监视其他网络资源,如 Azure ExpressRoute 和虚拟网络网关,underuse 和滥用。

了解更多信息:

最佳做法:实现资源组预算

通常情况下,你可能会发现用资源组来表示成本边界很有用。 资源组预算有助于跟踪与资源组相关的成本。 当达到或超出预算时,可以触发警报并运行大量行动手册。

了解更多信息:

最佳做法:优化 Azure Monitor 保留期

将资源移到 Azure 中并为它们启用诊断日志记录,会生成大量日志数据。 通常,会将此日志数据发送到映射到 Log Analytics 工作区的存储帐户。 下面是用于优化 Azure Monitor 保留的几个提示:

  • 日志数据的保留期越长,数据就越多。
  • 不一定所有日志数据都相等,一些资源生成的日志数据比其他资源多。
  • 由于法规和合规性的原因,可能需要为某些资源保留比其他资源更长的日志数据。
  • 对于优化日志存储成本和保留日志数据,你应当谨慎权衡、谋求平衡。
  • 建议在完成迁移后立即评估并设置日志记录,这样就不会在保留非必要日志方面花费金钱。

了解更多信息:

最佳做法:优化存储

如果在迁移之前遵循了选择存储的最佳实践,则可能会获得一些权益。 不过,还可以进行更多的存储成本优化。 随着时间的推移,blob 和文件会过时。 数据可能不再可用,但根据法规要求,你可能需要将这些数据保留特定的一段时间。 于是,你可能不需要将它们存储在用于初始迁移的高性能存储中。

识别过时数据并将它们移动到费用更低的存储区域对每月存储预算和成本节省额有着巨大的影响。 Azure 提供许多方法,帮助你识别并存储这类过时数据。

  • 利用访问层进行常规用途 v2 存储,将较不重要的数据从热层移到 "冷" 或 "已存档" 级别。
  • 使用 StorSimple 有助于移动基于自定义策略的过时数据。

了解更多信息:

最佳做法:自动执行 VM 优化

在云中运行 VM 的最终目标是尽量增加它占用的 CPU、内存和磁盘空间。 如果在未使用 Vm 的情况下发现未优化或未频繁运行的 Vm,则可以使用虚拟机规模集关闭或缩减它们。

可以使用 Azure 自动化、虚拟机规模集、自动缩减以及脚本化解决方案或第三方解决方案来优化 VM。

了解更多信息:

最佳做法:将 Azure 逻辑应用和 runbook 与预算 API 配合使用

Azure 提供了一个 REST API,它有权访问你的租户账单信息。 你可以使用预算 API 集成外部系统和由你从 API 数据生成的指标触发的工作流。 可以将用量和资源数据拉取到你偏好的数据分析工具。 可将预算 API 与 Azure 逻辑应用和 runbook 集成。

Azure 资源用量和 RateCard API 可以帮助你准确预测及管理成本。 Api 作为资源提供程序实现,并包含在由 Azure 资源管理器公开的 Api 中。

了解更多信息:

最佳做法:实施无服务器技术

VM 工作负荷经常 "按原样" 迁移,以避免停机。 通常情况下,Vm 可以托管间歇性的任务,也可以在很短的时间内运行或花费很多时间。 示例包括运行计划任务的 Vm,例如 Windows 任务计划程序或 PowerShell 脚本。 如果这些任务未运行,则吸收 VM 和磁盘存储成本。

迁移并彻底查看这些类型的任务后,你可能会考虑将它们迁移到 Azure Functions 或 Azure Batch 作业之类的无服务器技术。 这些解决方案可以降低成本,你不再需要管理和维护 Vm。

了解更多信息:

后续步骤

查看其他最佳做法: