当我们尝试将现有的asp.net应用程序移植到天蓝色时,我们可能遇到什么挑战?在云计算中还有其他替代品?
解决方法
然而,当您开始规划Azure迁移时,您需要考虑几个方面的考虑(其中一个是不可逾越的,有几个相对简单的处理方法):
>您必须处理整个Web角色实例中的ASP.NET会话状态管理(除了inproc之外,它不支持开箱即用)。您还必须设置和使用角色和成员资格提供商(更多详细信息,请参阅here)。编辑:您现在可以访问AppFabric缓存用于会话状态,以及sql Azure(Windows Azure SDK Tools附带的通用提供程序)。
>您必须检查sql后端与sql Azure的不兼容性(例如计划作业,因为没有sql代理支持)。 sql Azure差异将被记录在案here.您还需要考虑sql Azure大小限制为50GB,这可能需要您将内容卸载到Azure blob存储。编辑:您可以通过SQL Azure Migration Wizard运行sql Server数据库进行兼容性测试。
>您需要配置记录和诊断,最好使用跟踪输出,以便您可以远程检索该数据。
>您需要考虑如何监视和扩展应用程序。您可能需要的缩放所需的所有信息(性能计数器,队列长度等)。查看WASABI – 自动量程应用程序块,企业库的一部分。您也可以订阅AzureWatch等服务。
>您需要考虑缓存,因为现在没有开箱即用的缓存实现可以跨网站角色的实例运行,该角色现在作为一项服务提供。阅读详细信息here以及FAQ here。
>您是否需要SMTP支持?如果是这样,那么你应该看到关于here的细节。SendGrid最近宣布了一个free-tier promotion的Windows Azure。
>您是否托管WCF服务?如果是,请查看this site了解更多详细信息(具体是已知问题)。
所以:是的,有一些您需要关心的事情,但Azure是托管asp.net应用程序的绝佳平台,您应该强烈考虑。