Windows Azure - перенос веб-приложения .NET в Azure - PullRequest
6 голосов
/ 02 ноября 2010

Я надеялся, что кто-нибудь сможет ответить на несколько коротких вопросов о Windows Azure.Я знаю, что это немного лениво, но веб-сайты Microsoft, посвященные Azure, по-видимому, ориентированы на полутехнических руководителей проектов и полны бизнес-метрик - кажется, они никогда не дают хорошего краткого обзора «как».* У меня есть веб-приложение ASP.NET, которое требует некоторой работы, чтобы помочь с масштабированием (там есть некоторые процессы типа паука и довольно большая база данных. Оно также делает много вызовов внешним веб-сервисам).

Мои вопросыявляются:

  1. С точки зрения разработки - насколько просто портировать приложение со стандартного типа сервера iis / sql, настроенного на Azure.Есть ли много кодирования.Я дошел до того, что начал учебное видео, в котором вы программируете «фабрику» и т. Д. Действительно ли практично конвертировать приложение в Azure?

  2. Я слышал, что выможет запускать экземпляры Windows Server 2008 R2 в Azure - означает ли это, что вам не обязательно программировать с помощью специального SDK Azure, и вы можете просто перевести свой сервер iis / sql в Azure и сразу использовать преимущества масштабируемости?

Ответы [ 2 ]

6 голосов
/ 02 ноября 2010

Вы затронули несколько моментов: обучение, портирование, масштабирование и управление виртуальными машинами.

Обучение

Возможно, вам стоит взглянуть на некоторые вступительные видеоролики на MSDev . Серия «Windows Azure Fall 2010» - последние. Обратите внимание, что для запуска приложения в Azure необходимо понимать структуру Azure и связанные службы, такие как диагностика и управление ролями.

Переносимость

Вам нужно будет взглянуть на то, что вы делаете, помимо ядра asp.net, такого как кэширование, управление состоянием сеанса, безопасность, сторонние библиотеки DLL, COM, доступ к реестру и любые другие функции уровня администратора. Сегодня с SDK 1.2 у вас не будет возможности манипулировать реестром или запускать MSI. У меня есть связанный пост StackOverflow о некоторых областях, где вы можете столкнуться с проблемами. Относительно SQL Azure: некоторые функции, такие как поддержка CLR, не реализованы, и у вас не будет доступа к некоторым функциям системного уровня. Подробные сведения о различиях можно найти в официальном документе на сайте SQL Azure .

С новыми функциями, представленными на PDC 2010, вы сможете преодолеть почти все эти проблемы:

  • Состояние сеанса может быть размещено в AppFabric Cache. Это будет просто изменение конфигурации вашего конфигурации. Этот кеш будет доступен по всей развернутой сети экземпляры, позволяющие вам масштабировать.
  • Доступ на уровне администратора доступен в режиме администратора. Вы сможете запускайте MSI и изменяйте такие вещи, как реестр, при загрузке экземпляров вашей роли.

Пересчет

Вам нужно внимательно посмотреть, как ваше приложение справляется с масштабированием. Например: у вас может быть узкое место, если все экземпляры сервера пытаются работать одновременно с одним и тем же ресурсом, вызывая блокировки. Обычным шаблоном Azure является помещение рабочих элементов в долговременную очередь Azure, чтобы фоновые экземпляры рабочих ролей использовали эти рабочие элементы асинхронно.

Сегодня Azure не предоставляет встроенную возможность управления состоянием сеанса (например, сохранение состояния в SQL Server). Тем не менее, в блоге SQL Azure есть загружаемый образец , который прекрасно работает с SQL Azure. Как уже упоминалось выше, новая функция AppFabric Cache обеспечит управление состоянием сеанса, поэтому у вас скоро будет готовое решение.

Управление виртуальной машиной

Роль VM была объявлена ​​на PDC. По сути, это даст вам возможность взять образ Windows Server 2008 R2, созданный локально, и переместить его в Azure. Вам нужно будет установить расширения Azure, которые позволят управлять образом с помощью фабрики Azure.

Однако существует компромисс: ваша виртуальная машина не получит выгоду от обновлений и исправлений ОС: вы будете нести ответственность за управление ими (через разностный диск). Структура Azure по-прежнему будет следить за состоянием вашей виртуальной машины и перезагружать ее или перемещать, если это необходимо. Я рекомендовал бы сначала попытаться использовать режим администратора, чтобы вы могли по-прежнему пользоваться 100% служб Azure.

2 голосов
/ 02 ноября 2010

С точки зрения разработчиков, не так много работы, связанной с переносом существующего приложения ASP.net в Azure. Вы можете столкнуться с несколькими проблемами, такими как состояние сеанса и кэширование, однако обе эти проблемы могут быть решены с помощью одной только конфигурации. SQLAzure обеспечит большую часть функциональности, которую вы получаете от стандартного SQL Server, и вы можете использовать мастер миграции SQLAzure для перемещения вашей базы данных в облако.

На PDC10 они объявили о новой роли ВМ, поэтому я предполагаю, что это то, на что вы ссылаетесь. Так что, если у вас есть существующая установка, работающая на Windows Server 2008 R2, вы можете виртуализировать ее и перевести в роль виртуальной машины.

Также на PDC10 было объявлено, что WebRoles теперь будет работать с полным IIS7, так что вы можете придираться к IIS, если хотите, без необходимости идти по пути роли VM.

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