azure - Windows Azure - 将 .NET Web 应用程序传输到 Azure

标签 azure azure-web-app-service

我希望有人能回答一些有关 Windows Azure 的简短问题。我知道这有点懒,但涵盖 Azure 的 Microsoft 网站似乎针对半技术项目负责人并充满了业务指标 - 他们似乎从未真正给出“如何”的良好简短概述。

我有一个 ASP.NET Web 应用程序,需要一些工作来协助扩展(其中有一些蜘蛛类型的进程和一个相当大的数据库。它还会对外部 Web 服务进行多次调用)。

我的问题是:

  1. 从开发的角度来看 - 将应用程序从标准 iis/sql 服务器类型设置移植到 Azure 有多容易。是否涉及很多编码。我已经开始制作一个培训视频,让您对“结构”等进行编程。将应用程序转换到 Azure 真的实用吗?

  2. 我听说您可以在 Azure 中运行 Windows Server 2008 R2 实例 - 这是否意味着您不必使用 Azure 特定 SDK 进行编程,而只需将您的 iis/sql 服务器设置移动到azure 并立即利用可扩展性的优势?

最佳答案

您谈到了几个要点:培训、移植、扩展和虚拟机管理。

培训

您可能应该观看一些介绍视频:MSDev 。 “Windows Azure Fall 2010”系列是最新的。请注意,要在 Azure 中运行应用程序,您需要了解 Azure Fabric 和相关服务,例如诊断和角色管理。

移植

您需要查看您在 ASP.NET 核心之外所做的事情,例如缓存、 session 状态管理、安全性、第 3 方 DLL、COM、注册表访问以及任何其他管理级功能。如今,使用 SDK 1.2,您将无法操作注册表或运行 MSI。我有一个related StackOverflow post关于您可能会遇到挑战的一些领域。关于 SQL Azure:某些功能(例如 CLR 支持)尚未实现,并且您将无法访问某些系统级功能。有关差异的详细信息可以在 SQL Azure site 的白皮书中找到。 .

借助 PDC 2010 上推出的新功能,您应该能够克服几乎所有这些问题:

  • session 状态可能托管在 AppFabric 缓存。这将简单地是 对您的配置进行更改 配置。该缓存将可用 跨您部署的所有网络 实例,允许您扩展。
  • 管理员模式下提供管理员级别的访问权限。你将能够 当您的角色实例启动时,运行 MSI 并修改注册表等内容。

缩放

您需要仔细查看您的应用如何处理缩放。例如:如果所有服务器实例尝试同时使用同一资源,从而导致锁定,则可能会遇到瓶颈。常见的 Azure 模式是将工作项放入持久的 Azure 队列中,并让后台辅助角色实例异步使用这些工作项。

目前,Azure 不提供开箱即用的 session 状态管理功能(例如在 SQL Server 中存储状态)。然而,有一个downloadable sample在与 SQL Azure 配合良好的 SQL Azure 博客上。如上所述,新的 AppFabric 缓存功能将提供 session 状态管理,因此您很快就会拥有一个开箱即用的解决方案。

虚拟机管理

VM 角色在 PDC 上宣布。从本质上讲,这将使您能够获取本地构建的 Windows Server 2008 R2 镜像并将其移动到 Azure。您需要安装 Azure 扩展,以允许 Azure 结构管理镜像。

但有一个权衡:您的虚拟机不会从操作系统升级和补丁中受益:您将负责管理这些(通过差异磁盘)。 Azure 结构仍将监视 VM 的运行状况,并在必要时重新启动或移动它。我建议首先尝试使用管理模式,这样您仍然可以利用 100% 的 Azure 服务。

关于azure - Windows Azure - 将 .NET Web 应用程序传输到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075966/

相关文章:

azure - 将 Azure SDK 和 Azure 存储版本升级到最新版本

azure - 在 Azure 上托管 100.000 多个 Web 套接字

azure - 如何将多个 csv 文件提取到 Spark 数据帧中?

azure - 是否可以重命名 Azure 订阅名称/域?

azure - 使用 PySpark 从 Azure HDInsight 检索数据

当实例失败时,Azure Webapps 不会进行故障转移

angular - 部署Azure Web App(Angular)不起作用

azure - 如何使用azure数据工厂v2(adf)在文件夹中查找最新文件

node.js - Node js 应用程序洞察采样,对除错误/异常之外的所有内容进行采样

azure - 如何从 Azure Web App 上的 go 应用程序跟踪日志