评估迁移注意事项

已完成

在本单元中,你将了解将 ASP.NET 迁移到 Azure 的好处。

调查迁移的好处

将应用程序迁移到 Azure 托管环境的好处涉及到应用程序性能和安全性的关键方面。 你可以实现的这些方面与你的本地环境相当,甚至超过本地环境。 否则,与迁移相关的成本和工作负荷可能不可行。

评估性能注意事项

应用程序的性能是客户满意度的关键考虑因素。 你的应用程序可能会在需求周期中经历高峰和低谷。 节假日购物或营销活动会导致对应用程序和托管应用程序的服务器的需求增加。

在本地环境中,增加需求意味着系统可能会过载。 为了支持需求的增长,可能需要增加服务器硬件和与之相关的管理。 管理包括添加硬件、安装和配置软件以及设置必要的流量路由,以帮助确保你的系统对客户保持可用。 如果需求减少,那么你的服务器硬件将处于闲置状态,直到周期中的下一个高峰期为止。

评估缩放选项

Azure 提供 Web 应用和 SQL 数据库的缩放选项。 使用缩放,可以在需要时满足需求,并在需求减少时进行缩减。 此外,这些缩放选项不要求你对现有代码进行任何更改,也不要求你重新部署应用程序。 下面是两个主要的缩放选项:

  • 纵向扩展:获取更多 CPU、内存、磁盘空间和额外功能,例如专用 VM、自定义域和证书、过渡槽以及自动缩放。 可以通过更改应用所属的应用服务计划定价层来进行纵向扩展。

  • 横向扩展:增加用于运行应用的 VM 实例数。 可以根据定价层,最多向外缩放到 30 个实例。

注意

应用服务不会自动扩展相关资源(如 Azure SQL 数据库)。 应用服务计划不管理这些资源。 不过,在这些其他资源上配置缩放也很容易。

使用 Azure SQL 数据库和 Azure SQL 托管实例,可以将更多资源动态添加到数据库,并将停机时间降至最低。 通过添加更多资源,在数据库达到当前资源限制,并需要更多的功能来管理传入的工作负荷时,可以进行快速响应。 Azure SQL 数据库还允许你在不需要资源时纵向缩减资源,以降低成本。 Azure SQL 数据库中的单一数据库支持手动动态可伸缩性,但不支持自动缩放。 若要获得更多自动体验,请考虑使用弹性池,它允许数据库根据各个数据库需求共享池中的资源。

评估应用和数据的安全注意事项

确保应用程序和关联数据的安全是一个重要的考虑因素。 你的 Web 应用可能会提供一个可公开访问的接口,但你不希望未经授权的用户访问该 Web 应用的数据库或管理页面。 需要考虑的关键问题如下:

  • 谁应该有权访问应用的特定区域?

  • 哪些区域需要更严格的安全性?

  • 用户如何在安全区域进行身份验证?

评估你当前的环境安全配置,并使用该评估来确定托管环境的安全性需求。 本地环境中的某些方面(如防火墙硬件)在 Azure 中会略有不同。 例如,Azure 上的虚拟网络将充当应用和服务的防火墙。

其他区域是新的,例如用于存储应用程序可能需要的机密的 Azure Key Vault。 一个典型的例子是将 SQL 连接字符串存储在 Azure Key Vault 中,而不是应用程序配置文件中。 这会为数据库凭据增加了一个额外的安全层。

调查网络需求

Azure 可以使用虚拟网络和 DNS 等服务来帮助你模拟本地网络环境。 了解这些选项可帮助你配置一个安全且可操作的网络环境来托管应用程序。

了解 Azure 网络选项

Azure 可以使用虚拟网络来帮助保护你的应用和数据的各个方面,虚拟网络的作用类似于防火墙。 设置虚拟网络是一个简单的过程,可提供对应用程序的网络安全的控制。 你可以:

  • 使用无类别域际路由选择 (CIDR) 表示法配置子网。

  • 创建外围网络,以隔离流量域。

  • 使用网络端口控制访问。

使用 Azure 虚拟网络可以让应用程序安全地相互通信、与 Internet 通信以及与本地网络通信。 默认情况下,允许应用与 Internet 建立出站通信,但在你显式打开必需的应用程序端口之前,入站连接将被拒绝。

Azure 资源之间的通信是通过以下方式实现的:

  • 虚拟网络:将 VM 和其他资源部署到虚拟网络中,可以在这些资源之间进行直接通信。

  • 服务终结点:可以使用服务终结点来帮助保护你的关键 Azure 服务资源,使它们仅用于虚拟网络。

  • 虚拟网络对等互连:可以使用虚拟网络对等互连将虚拟网络彼此相连,使虚拟网络中的资源可彼此通信。

与本地网络的通信是通过以下方式实现的:

  • 点到站点 VPN 连接:在虚拟网络以及网络中的单个计算机之间建立连接。 要与虚拟网络建立连接的每台计算机必须配置其连接。

  • 站点到站点 VPN 连接:在本地 VPN 设备和虚拟网络中部署的 Azure VPN 网关之间建立连接。 此连接类型可使授权的任何本地资源访问虚拟网络。

  • Azure ExpressRoute:通过 ExpressRoute 合作伙伴在网络和 Azure 之间建立连接。 此连接是专用连接。 流量不经过 Internet。

探索 Microsoft Entra ID 的安全性

Microsoft Entra ID 是一项基于云的标识和访问管理服务,可帮助员工登录和访问资源。 它提供对以下内容的访问权限:

  • 外部资源,包括 Microsoft 365、Azure 门户以及许多其他 SaaS 应用程序。

  • 内部资源,如企业网络上的应用程序或你的组织开发的任何云应用。

了解使用 Microsoft Entra ID 的身份验证和访问控制

Microsoft Entra 身份验证可以验证用户名和密码,但还远远不止这些。 为提高安全性并减少对支持人员协助的需求,Microsoft Entra 身份验证包括以下组件:

  • 自助式密码重置:用户可以从任何设备使用 Web 浏览器更新或更改密码。

  • Microsoft Entra 多重身份验证:用户可以在登录过程中选择其他身份验证形式,例如电话或移动应用通知。

  • 混合集成:当用户使用自助式密码重置更新或重置其密码时,还可以将该密码写回到本地 Active Directory 环境。 混合集成还用于为本地环境强制执行密码保护策略。

  • 无密码身份验证:此选项包括输入使用各种方法(如使用 Windows Hello 企业版的生物识别或 FIDO2 安全密钥)提供的凭据。

你可以使用 Microsoft Entra ID 对 Azure 上的所有资源进行访问控制。 单一登录功能还意味着用户不需要记住多个登录凭据。

了解成本注意事项

成本是帮助你确定迁移是否是正确选择的一个重要因素。 你可能已经知道了在本地托管应用程序和数据库所产生的成本。 为了帮助评估云托管环境中可能产生的成本,Azure 提供了成本分析工具。

Azure 定价计算器

可以使用 Azure 定价计算器来确定计划在 Azure 上使用的资源的成本。 在此工具中,可以从涵盖 Azure 资源的各种可用类别中进行选择。 然后,可以选择特定的配置,以显示该服务的每月预估成本。

例如,如果要评估使用 Azure VM 的成本,可以选择“虚拟机”类别,然后查看配置选项。 当你更改选项(如区域、OS、定价层和大小)时,图表将更新以反映所选选项。

Screenshot of the pricing calculator depicting cost of VM with configured parameters.

确定应用服务成本

可以通过选择“应用服务”类别,使用定价计算器来确定在 Azure 上托管 ASP.NET 应用程序的成本。

Screenshot of the Azure App Service category option.

调整“层”下拉菜单中的“定价层”选项将更改成本模型。 这将通过选择 CPU 核心和内存选项的特定配置来更改计算配置。 可以选择与你的本地环境匹配的层,以查看该计算环境的每月托管成本。

要了解与缩放应用相关的成本,可以增加实例数的计数器值。

Screenshot of the instance counter set to 3.

继续修改此窗格上的选项,以评估与 Azure 应用服务相关的每月成本。

更新后的高级版 v3 (Pv3) 产品/服务利用最新的 Azure Dv4 虚拟机 (VM) 硬件来提供改进的性能和可伸缩性,它也可供客户使用。 高级版 v2 和高级版 v3 的成本对比展示了应用服务月度成本对比。

Diagram of a comparison of Premium v2 and Premium v3 depicting cost of $147 USD for v2 and $113 USD for v3 for monthly.

确定 Azure SQL 数据库成本

可以在“定价计算器”页上选择“数据库”类别来评估 SQL Server 成本。 这将显示 Azure 上可用的数据库选项。 选择“Azure SQL 数据库”将打开“定价计算器”页上的估算器面板。 你可以使用此面板修改参数以满足你的需求,并查看要支付的每月费用。

此估算器上有多种可以影响成本的选项。 第一个选项处理实例配置。

Screenshot of SQL instance options in pricing calculator depicting the region for hosting, the type (single or elastic pool), and the service tier among the options available.

还需要选择计算资源选项来定制定价模型。 例如,可以选择使用混合模型来减少许可成本,如以下计算选项屏幕截图所示。

Screenshot of the Azure Hybrid benefit selected, depicting a reduction in cost.

其余选项涉及存储帐户选择,以及你可能需要在 Azure SQL 数据库托管中提供的任何支持。