Насколько сложно портировать приложение asp.net на Azure? - PullRequest
17 голосов
/ 19 июня 2010

У меня есть частично разработанное приложение asp.net, но теперь клиент хочет, чтобы оно разрабатывалось в Azure.Какую часть существующего кода можно использовать при разработке приложения в Azure.

С какими проблемами мы могли бы столкнуться, пытаясь перенести существующее приложение asp.net в Azure?Есть ли другие альтернативы лазури в облачных вычислениях?

Ответы [ 3 ]

22 голосов
/ 19 июня 2010

Для приложения asp.net вы, безусловно, можете перенести его в Azure. Ваша основная логика будет перенесена относительно простым способом, и вы получите множество преимуществ, которые Azure может предложить. С выпуском в июне 2010 года вы также получите поддержку .NET 4 вместе с IntelliTrace для отладки.

Однако, когда вы начинаете планировать миграцию Azure, вам нужно подумать над несколькими соображениями (ни одно из них не является непреодолимыми, а некоторые относительно простыми для решения):

  • Вам приходится иметь дело с управлением состоянием сеанса ASP.NET во всех экземплярах веб-роли (что не поддерживается сразу после установки, за исключением inproc). Вам также придется настроить и использовать поставщиков ролей и членства (подробнее см. здесь ). РЕДАКТИРОВАТЬ: теперь у вас есть доступ к AppFabric Cache для состояния сеанса, а также к SQL Azure, входящей в состав универсальных поставщиков, включенных в Windows Azure SDK + Tools.
  • Вы должны проверить свой SQL-сервер на несовместимость с SQL Azure (например, запланированные задания, поскольку нет поддержки агента SQL). Различия в SQL Azure задокументированы здесь . Вам также необходимо учитывать ограничение размера SQL Azure в 50 ГБ, что может потребовать выгрузки содержимого в хранилище BLOB-объектов Azure. РЕДАКТИРОВАТЬ: вы можете запустить базу данных SQL Server с помощью Мастер миграции SQL Azure для тестирования совместимости.
  • Вам необходимо настроить ведение журнала и диагностику, желательно с выходом Trace, чтобы вы могли получать эти данные удаленно.
  • Вам нужно подумать о том, как вы будете отслеживать и масштабировать свое приложение. Вам доступна вся информация, которая может понадобиться для масштабирования (счетчики производительности, длины очередей и т. Д.). Посмотрите WASABI - блок приложения с автоматическим масштабированием, часть Enterprise Library. Вы также можете подписаться на услугу, такую ​​как AzureWatch .
  • Вам нужно будет подумать о кэшировании, , поскольку в настоящее время нет встроенной реализации кэширования, которая бы выполнялась для экземпляров вашей веб-роли , которая теперь предоставляется в качестве службы. Подробнее здесь , а также FAQ здесь .
  • Вам нужна поддержка SMTP? Если это так, есть подробности, которые вы должны прочитать о здесь . SendGrid недавно объявил о бесплатном продвижении 1035 * для Windows Azure.
  • Вы также предоставляете услуги WCF? Если это так, проверьте этот сайт для получения дополнительной информации (в частности, об известных проблемах).

Итак: да, есть некоторые вещи, о которых вам нужно позаботиться, но Azure - это отличная платформа для размещения приложения asp.net, и вам следует это серьезно рассмотреть.

2 голосов
/ 19 июня 2010

Должно быть очень легко перенести ваше приложение в Azure, особенно если вы используете серверную часть SQL. Код может работать почти без изменений. Вам необходимо создать установочный пакет Azure для проекта и файла конфигурации.

Если ваше приложение использует постоянное хранилище (кроме SQL Server), вам, возможно, придется несколько переработать этот код. Однако на платформе теперь есть хранилище на диске, которое имитирует файловую систему, поэтому это должно быть довольно просто.

Другая проблема, на которую стоит обратить внимание, - это web.config. Если вы интенсивно используете это для настройки времени выполнения, вам также придется его переделать. Вы не можете развернуть отдельные файлы в своем приложении в Azure, поэтому рекомендуемый подход заключается в переносе таких настроек в файл конфигурации Azure.

Самое сложное, с чем вы можете столкнуться, это внешние приложения. Если ваше приложение использует другие процессы, это потребует серьезного изменения.

1 голос
/ 16 июня 2012

Azure теперь поддерживает веб-сайты в качестве типа развертывания. По сути, это позволяет вам публиковать в Azure любое стандартное приложение Asp.net (и другие поддерживаемые, такие как PHP и т. Д.) И использовать его в качестве масштабируемого сервера. Смотрите эту статью http://blog.ntotten.com/2012/06/07/10-things-about-windows-azure-web-sites/

Множество преимуществ Azure без необходимости введения специального кода / проекта Azure в существующее приложение.

Также этот вопрос здесь В чем разница между веб-сайтом Azure и веб-ролью Azure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...