Подтвердить что ты не робот

Насколько сложной задачей является перенос приложения asp.net на azure?

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

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

4b9b3361

Ответ 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, и вы должны сильно его рассмотреть.

Ответ 2

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

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

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

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

Ответ 3

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

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

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