Оценка веб-приложения с помощью Помощника по миграции Службы приложений Azure

Завершено

В этом уроке мы рассмотрим потенциальные проблемы, которые могут возникнуть при переносе веб-приложений, размещенных на локальном сервере на высоком уровне. Мы представим контекст по типам зависимостей веб-приложений от функций служб IIS и причинам, по которым это вызывает проблемы. Эта важная дополнительная информация представляет контекст, который может потребоваться для лучшего понимания потребности в оценке.

Зачем переносить веб-приложение в Службу приложений Azure?

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

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

Существует несколько функций, которые делают работу со Службами приложений Azure эффективной.

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

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

Диагностика службы приложений предоставляет интерактивный интерфейс, где средство устранения неполадок может ответить на несколько вопросов. Интерфейс создает полный диагностический отчет, относящийся к типу проблемы, возникшей в приложении. Кроме того, такие инструменты, как работоспособность проверка, приложение Аналитика и навигатор (интерактивная схема зависимостей), помогают понять, где находятся проблемы.

Что такое Помощник по миграции Службы приложений Azure?

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

  1. Первая — оценка конкретного веб-приложения, установленного в Windows Server. Помощник оценивает зависимости веб-приложения, чтобы определить, возможна ли миграция в Службу приложений Azure без внесения изменений в веб-приложение.
  2. Если оценка подтверждает, что веб-приложение можно перенести, Помощник по миграции выполняет миграцию. Необходимо предоставить Помощник по миграции доступ к учетной записи Azure, выбрать группу ресурсов, которую вы хотите использовать, и выбрать имя веб-приложения, среди прочего.

Кроме того, Помощник по миграции Службы приложений Azure создает шаблон Azure Resource Manager, который можно использовать для миграции веб-приложения более автоматизированным и воспроизводимым образом.

Зачем выполнять оценку?

В некоторых организациях веб-приложения изначально создавались исходя из предположения, что приложение всегда будет иметь доступ к низкоуровневым функциям IIS. Например, некоторые разработчики создавали такие функции, как мониторинг, ведение журнала и безопасность поверх фильтров ISAPI. Фильтры предоставляли доступ к входящим запросам до передачи в приложение ASP.NET. Они также предоставляли доступ к ответам, создаваемым приложением ASP.NET.

Однако одно из преимуществ использования платформы как услуги (PaaS), например Службы приложений Azure, заключается в том, что поставщик облачных служб (Майкрософт в данном случае) управляет оборудованием и программным обеспечением за вас. Это позволяет вам экономить время и силы. Но это означает, что у ваших приложений есть доступ к меньшему меньшему уровню функций Windows Server и IIS. Если приложения зависят от этих низкоуровневых функций, они не смогут воспользоваться преимуществами Службы приложений Azure без изменений.

Какие типы проблем ищет оценка?

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

Проверка готовности Описание
Привязки портов Так как Служба приложений Azure поддерживает только стандартный веб-трафик, эта проверка готовности гарантирует, что веб-приложение будет ожидать передачи данных только на портах 80 (для трафика HTTP) и 443 (для трафика HTTPS).
Протоколы Так как Служба приложений Azure работает только с протоколами HTTP и HTTPS, эта проверка готовности гарантирует, что веб-приложение будет обрабатывать только протоколы на основе HTTP. Например, если веб-приложение зависит от Windows Communication Foundation, оно не передает эту готовность проверка.
Сертификаты служба приложение Azure может обрабатывать сертификаты безопасности, но эта готовность проверка предупреждает, что Помощник по миграции не переносит сертификат автоматически.
Теги расположения Теги расположения позволяют хранить конфигурацию для всех веб-приложений, размещенных на сервере, в одном файле, а не в отдельных файлах web.config для каждого веб-приложения. Приложения Службы приложений Azure используют предварительно настроенный файл applicationhost.config IIS и не поддерживают функцию тегов расположения. Параметры для каждого перенесенного веб-приложения должны быть перенесены в отдельные файлы web.config. Эта проверка готовности определяет использование тегов расположения.
Фильтры ISAPI Служба приложений Azure в некоторой степени поддерживает фильтры ISAPI, но это зависит от того, как был реализован фильтр ISAPI. Помощник по миграции не переносит приложение, которое зависит от фильтра ISAPI. Сначала необходимо удалить фильтр ISAPI из приложения, выполнить миграцию, а затем добавить фильтр ISAPI вручную в Службе приложений Azure.
Пулы приложений Так как Служба приложений Azure поддерживает один пул приложений для каждого приложения, эта проверка готовности гарантирует, что веб-приложение полагается только на один пул приложений.
Удостоверение пула приложений Приложения Службы приложений Azure размещаются в рабочем процессе IIS, который выполняется в управляемой системой учетной записи, связанной с пулом приложений. Это также удостоверение по умолчанию, используемое локально установленными экземплярами IIS. Эта проверка готовности гарантирует, что веб-приложение будет настроено для запуска в удостоверении по умолчанию.
Тип аутентификации Приложения службы приложений Azure поддерживают иной набор типов проверки подлинности, чем приложения, размещенные на локальных серверах IIS. Эта проверка готовности гарантирует, что веб-приложение настроено для использования анонимной аутентификации. После миграции можно вручную настроить тип аутентификации в Службе приложений Azure.
Параметры приложения Эта проверка готовности предупреждает о пользовательских параметрах приложения в файле web.config, которые следует переместить в раздел Служба приложений Azure>Конфигурация>Параметры приложения.
Строки подключения Эта проверка готовности определяет, указывают ли строки подключения к базе данных, хранящиеся в файле web.config, на локальные базы данных. В этом случае Помощник по миграции предоставляет возможность настройки гибридных подключений.
Платформы Помощник по миграции поддерживает только ASP.NET и PHP. Если приложение использует другую платформу, вы не можете выполнить автоматическую миграцию.
Ошибка конфигурации Помощник по миграции гарантирует правильность настройки локального экземпляра IIS и не возвращает ошибку при сканировании. Эта проверка готовности гарантирует отсутствие внутренних проблем с веб-приложением перед миграцией.
Виртуальные каталоги Служба приложений Azure хранит все файлы в фиксированной структуре каталогов. Помощник по миграции перемещает файлы в соответствующие вложенные каталоги. Однако он не может перенести приложения с виртуальными каталогами, которые поддерживаются общими папками UNC.

Данные сведения из этой таблицы были собраны на вики-сайте Помощника по миграции Службы приложений Azure.

Что делать, если при оценке обнаруживается проблема?

Если Помощник по миграции Службы приложений Azure находит проблемы при оценке веб-приложения, у вас есть несколько вариантов.

  • Обновить приложение, чтобы заменить компоненты, которые зависят от низкоуровневых функций расширения служб IIS. Это может быть относительно просто в зависимости от рассматриваемой функциональности. Например, можно заменить пользовательские функции ведения журнала, которые зависят от фильтра ISAPI, на Azure Application Insights. Application Insights требует добавления всего нескольких строк кода в приложение и предоставляет обширные, практически полезные отчеты.
  • Обновить приложение, временно отключив компонент, который блокирует миграцию. Помощник по миграции может помочь в этом.
  • Развернуть приложение "как есть" на виртуальной машине Azure. Несмотря на то что так вы не сможете воспользоваться преимуществами Службы приложений Azure и потребуется поддерживать собственную операционную систему, больше не нужно заниматься обслуживанием оборудования. У вас также будет единая точка управления для всех веб-служб.

Вики-сайт Помощника по миграции Службы приложений Azure содержит возможные действия по исправлению для многих проблем, обнаруженных во время оценки.

Кратко

Из этого урока можно сделать несколько важных выводов.

  • Служба приложение Azure Помощник по миграции ищет несовместимость между локальными веб-приложениями и поддерживаемыми в службе приложение Azure. Если возникла проблема, обычно ее можно исправить (или отключить функцию, которая ее вызывает) в локальной среде. Затем можно заново запустить Помощник по миграции.
  • Если нет проблем с блокировкой, Помощник по миграции переносит веб-приложение в службу приложение Azure.