选择正确的 Azure 托管选项
本文提供将现有 .NET Framework 应用程序从本地迁移到 Azure 时,可在 Azure 中使用多个选项的注意事项及其比较。
将现有 .NET 应用程序迁移到 Azure 时要考虑的基本方面包括:
- 计算选项
- 数据库选项
- 网络和安全注意事项
- 身份验证和授权注意事项
计算选项
将现有的 .NET Framework 应用程序迁移到 Azure 时,可以使用多个选项。 但是,由于 .NET Framework 依赖于 Windows,只能对基于 Windows 的计算服务使用以下选项。
下表显示了一些比较和建议,帮助你为现有的 .NET 应用程序选择适当的计算迁移路径。
Azure VM | Azure 应用服务 | Windows 容器 | |
---|---|---|---|
使用时机 |
|
应用在服务器上没有任何依赖项,只是一个能够访问数据库服务器的简洁 ASP.NET Web 应用(MVC、Web 窗体)或 N 层应用(Web API、WCF)。 |
|
优点和好处 |
|
持续进行 PaaS 维护,在 Azure 中管理和缩放应用的最简单方法。 |
|
缺点 | 属于 IaaS。 维护费用高昂。 必须管理 VM 基础结构的网络、负载均衡器、横向扩展和 IIS 管理等方方面面。 |
|
|
惠? | Windows Server VM 的要求与本地应用相同 | 准备情况检查中指定的 Azure 应用服务要求。 |
|
如何迁移 | 请参阅迁移到 Azure 虚拟机 | 请参阅迁移 Azure 应用服务 | 遵循使用 Azure 和 Windows 容器将现有 .NET 应用现代化电子书中的注意事项、方案和演练 |
以下流程图显示了在规划向 Azure 迁移现有 .NET Framework 应用程序时的决策树。 如果可行,请先尝试选项 A,但选项 B 是最容易执行的路径。
数据库选项
将关系型数据库迁移到 Azure 时,可以使用多个选项。 请参阅将 SQL Server 数据库迁移到 Azure,帮助自己选择适合现有 .NET 应用程序的数据库迁移路径。
网络和安全注意事项
将应用程序部署到 Microsoft Azure 等公有云时,可能需要通过创建外围网络(例如,Azure 与本地之间的外围网络,或 Azure 与 Internet 之间的外围网络),来隔离并保护特定的网络。 可以使用 Azure 虚拟网络实施外围网络。
使用 Azure 虚拟网络可以:
- 构建可控的混合基础结构
- 自带 IP 地址和 DNS 服务器
- 借助 IPsec VPN 或 ExpressRoute 确保连接安全
- 精细控制子网之间的流量
- 使用虚拟设备创建复杂的网络拓扑
- 向应用程序提供独立且高度安全的环境
若要开始构建自己的虚拟网络,请参阅 Azure 虚拟网络文档。
迁移到 Azure 时的身份验证和授权注意事项
对于任何组织而言,迁移到云的最重要考虑因素是安全性。 大多数公司已投入大量的时间、资金和工程力量来设计和开发安全模型,并且必须能够利用现有投资,例如标识存储和单一登录解决方案。
本地运行的许多现有企业 B2E .NET 应用程序使用 Active Directory 进行身份验证和标识管理。 使用 Azure AD Connect 可将本地目录与 Azure Active Directory 集成。 若要开始集成,请参阅将本地目录与 Azure Active Directory 集成。
请参阅混合标识解决方案的标识要求进行 Azure Active Directory 相关的其他规划。
其他身份验证协议选项包括消费型应用程序中经常使用的 OAuth 和 OpenID。 使用自治标识数据库(例如,IdentityServer4 使用 OAuth 包装的 ASP.NET 标识 SQL 数据库)时,通常不需要与本地数据库或目录建立连接。
后续步骤
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈