2010-11-02 39 views
6

我希望有人能够回答关于Windows Azure的一些简要问题。我知道这有点懒,但覆盖Azure的微软网站似乎是针对半技术项目线索和充满商业指标的 - 他们似乎没有对“如何”做一个很好的简要概述。我有一个ASP.NET Web应用程序需要一些工作来协助扩展(这里有一些蜘蛛类型的进程和一个非常大的数据库,它也使得许多外部Web服务的调用)。Windows Azure - 将.NET Web应用程序转移到Azure

我的问题是:

  1. 从发展的角度来看 - 这是多么容易到口从标准的IIS/SQL服务器类型的应用程序设置为Azure上。是否涉及很多编码。我已经开始了一个培训视频,您可以编写“结构”等。将应用程序转换为Azure真的很实用吗?

  2. 我听说您可以在Azure中运行Windows Server 2008 R2实例 - 这是否意味着您不一定必须使用Azure特定的SDK进行编程,并且可以将您的iis/sql server设置为azure并立即利用可扩展性的好处?

回答

6

您碰到几个问题:培训,移植,扩展和虚拟机管理。

培训

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

移植

你需要看你在做什么超越核心asp.net,比如缓存,会话状态管理,安全性,第三方的DLL,COM,注册表访问,并任何其他管理员级别的功能。今天,使用SDK 1.2,您将无法操作注册表或运行MSI。我有一个related StackOverflow post关于你可能遇到挑战的一些领域。关于SQL Azure:某些功能(如CLR支持)未实现,您将无法访问某些系统级功能。关于差异的细节可以在SQL Azure site的白皮书中找到。

与PDC 2010引入的新功能,你应该能够战胜几乎所有的这些问题:

  • 会话状态可以在 AppFabric的缓存主办。这将只是 配置更改为您的 配置。该缓存将在所有已部署的网页 实例中提供 ,允许您扩展。
  • 管理员级别的访问可用于管理员模式。您将可以通过 运行MSI,并在角色实例启动时修改注册表等内容。

缩放

你需要在你的应用程序如何处理缩放密切关注。例如:如果所有服务器实例尝试与同一资源同时工作,则可能会造成瓶颈,从而导致锁定。常见的Azure模式是将工作项目放入持久的Azure队列中,并使后台工作人员角色实例异步使用这些工作项目。

今天,Azure不提供即用型会话状态管理功能(例如,在SQL Server中存储状态)。但是,SQL Azure博客上有一个与SQL Azure配合使用的downloadable sample。如上所述,新的AppFabric Cache功能将提供会话状态管理,因此您很快就会拥有一个开箱即用的解决方案。

虚拟机管理

VM角色在PDC公布。实质上,这将使您能够获取本地构建的Windows Server 2008 R2映像,并将其移至Azure。您需要安装允许Azure结构管理图像的Azure扩展。

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

+0

感谢您的全面解答。 – gb2d 2010-11-02 20:44:31

2

从开发人员的角度来看,将现有的ASP.net应用程序迁移到Azure并没有太多的工作要做。您可能会遇到一些问题,例如会话状态和缓存,但是这两个问题都可以通过配置单独解决。 SQLAzure将提供您从标准SQL Server获得的大部分功能,并且您可以使用SQLAzure迁移向导将数据库移动到云中。

在PDC10他们宣布了一个新的VM角色,所以我想这就是你所指的。所以是的,如果你有一个在Windows Server 2008 R2上运行的现有设置,你可以虚拟化这个设置并将其转移到虚拟机角色中。

同样在PDC10上宣布WebRoles现在可以运行完整的IIS7,所以如果你愿意的话,你可以放下IIS的肮脏,而不必停留在VM角色的路线上。

相关问题