Ответ 1
Для приложения asp.net вы можете, конечно, передать это Azure. Ваша основная логика будет относиться относительно просто, и вы получите множество преимуществ, которые может предложить Azure. С выпуском в июне 2010 года у вас также будет поддержка .NET 4, а также IntelliTrace для отладки.
Однако, когда вы начнете планировать миграцию Azure, вам нужно подумать о нескольких соображениях (ни одна из них не является непреодолимой и несколько относительно простой для решения):
- Вам нужно иметь дело с управлением сеансом ASP.NET в своих экземплярах веб-роли (которые не поддерживаются из коробки, кроме inproc). Вам также нужно будет настроить и использовать службы ролей и членства (подробнее см. здесь). EDIT: теперь у вас есть доступ к кэшу AppFabric для состояния сеанса, а также к SQL Azure, входящему в состав Universal Providers, включенному в Windows Azure SDK + Tools.
- Вам необходимо изучить ваш SQL-сервер для несовместимости с SQL Azure (например, запланированные задания, поскольку поддержка SQL-агента отсутствует). Различия SQL Azure документируются здесь. Вам также необходимо будет рассмотреть ограничение размера SQL Azure на 50 ГБ, что может потребовать от вас разгрузить содержимое в хранилище Azure blob. EDIT: вы можете запустить свою базу данных SQL Server с помощью мастера миграции SQL Azure для тестирования совместимости.
- Вам необходимо настроить ведение журнала и диагностику, предпочтительно с выходом Trace, чтобы вы могли удаленно извлекать эти данные.
- Вам нужно подумать о том, как вы будете контролировать и масштабировать свое приложение. Вся информация, которая может понадобиться для масштабирования, доступна для вас (счетчики производительности, длины очереди и т.д.). Проверьте WASABI - блок приложения для автоматического масштабирования, входящий в состав Enterprise Library. Вы также можете подписаться на услугу, например AzureWatch.
- Вам нужно подумать о кешировании,
, поскольку в настоящее время нет готовой кэш-реализации, которая выполняется через экземпляры вашей веб-роли, которая теперь предоставляется как служба. Подробнее читайте здесь, а также FAQ здесь. - Вам нужна поддержка SMTP? Если да, то вы можете прочитать здесь здесь. Недавно SendGrid анонсировала поощрение свободного уровня для Windows Azure.
- Принимаете ли вы также службы WCF? Если да, просмотрите этот сайт для получения дополнительной информации (в частности, известных проблем).
Итак: да, есть некоторые вещи, о которых вы должны заботиться, но Azure - отличная платформа для размещения приложения asp.net, и вы должны сильно его рассмотреть.