Надежность в службе приложение Azure

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

Устойчивость — это общая ответственность между вами и корпорацией Майкрософт, поэтому в этой статье также рассматриваются способы создания устойчивого решения, соответствующего вашим потребностям.

Служба приложений Azure — это служба на базе HTTP для размещения веб-приложений, интерфейсов REST API и серверной части мобильных решений. служба приложение Azure добавляет возможности Microsoft Azure в приложение с возможностями безопасности, балансировки нагрузки, автомасштабирования и автоматического управления. Чтобы узнать, как служба приложение Azure может повысить надежность и устойчивость рабочей нагрузки приложения, см. статью "Зачем использовать Служба приложений?"

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

Рекомендации по развертыванию в рабочей среде

Для рабочих развертываний необходимо:

  • Используйте планы premium версии 3 Служба приложений.
  • Включите избыточность зоны, которая требует, чтобы план Служба приложений использовал не менее трех экземпляров.
  • Включите избыточность зоны, которая требует, чтобы план Служба приложений использовал не менее трех экземпляров.

Временные сбои

Временные ошибки являются короткими, периодическими сбоями в компонентах. Они часто происходят в распределенной среде, такой как облако, и они обычно входят в операции. Они исправляют себя через короткий период времени. Важно, чтобы приложения обрабатывали временные ошибки, обычно повторяя затронутые запросы.

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

Хотя предоставленные корпорацией Майкрософт пакеты SDK обычно обрабатывают временные ошибки, так как размещают собственные приложения в службе приложение Azure, необходимо учитывать, как избежать временных сбоев, убедившись, что вы:

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

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

  • Избегайте увеличения или уменьшения масштаба. Вместо этого выберите уровень и размер экземпляра, которые соответствуют вашим требованиям к производительности при обычной загрузке. Только экземпляры горизонтального масштабирования для обработки изменений в томе трафика. Рассмотрим, что увеличение и уменьшение масштаба может активировать перезапуск приложения.

Поддержка зоны доступности

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

Распространение экземпляра с помощью развертывания, избыточного между зонами, определяется в следующих правилах, даже если приложение масштабируется и выходит:

  • Минимальное число экземпляров плана Служба приложений составляет три.
  • Если задана емкость больше, чем для трех зон, а число экземпляров можно разделить на три без остатка, экземпляры будут распределены по зонам равномерно.
  • Все экземпляры, превышающие 3*N, распределяются по оставшимся одному или двум зонам.

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

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

Требования

  • Необходимо использовать типы планов Premium версии 2 или Premium версии 3.
  • Зоны доступности поддерживаются только на более новых Служба приложений местах. Даже если вы используете один из поддерживаемых регионов, вы получите ошибку, если зоны доступности не поддерживаются для вашей группы ресурсов. Чтобы рабочие нагрузки приземлились на метку, поддерживающую зоны доступности, вам может потребоваться создать новую группу ресурсов, Служба приложений план и Служба приложений.
  • Необходимо развернуть не менее трех экземпляров плана.

Поддерживаемые регионы

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

Сведения о том, какие регионы поддерживают зоны доступности для Среда службы приложений версии 3, см. в разделе "Регионы".

Рекомендации

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

Себестоимость

Если вы используете планы Служба приложений Premium версии 2 или Premium версии 3, дополнительные затраты, связанные с включением зон доступности, если у вас есть три или более экземпляров в плане Служба приложений. Плата будет взиматься на основе номера SKU плана службы приложений, указанной емкости и всех экземпляров, для которых выполняется масштабирование, в зависимости от критериев автомасштабирования. Если вы включите зоны доступности, но укажите емкость менее трех, платформа применяет минимальное количество экземпляров 3 и взимается плата за эти три экземпляра.

Среда службы приложений версии 3 имеет определенную модель ценообразования для избыточности зоны. Сведения о ценах на Среда службы приложений версии 3 см. в разделе "Цены".

Настройка поддержки зоны доступности

Чтобы использовать избыточность зоны, переключитесь на поддерживаемый тип плана Служба приложений.

Чтобы развернуть новый план службы приложение Azure, избыточный между зонами, выберите параметр избыточности зоны при развертывании плана.

Сведения о развертывании новой среды службы приложение Azure, избыточной между зонами, см. в статье "Создание Среда службы приложений".

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

Планирование ресурсов и управление ими

Чтобы подготовиться к сбою зоны доступности, необходимо переоформить емкость службы, чтобы гарантировать, что решение может терпеть потерю емкости 1/3 и продолжать работать без снижения производительности во время сбоев на уровне зоны. Так как платформа распределяет виртуальные машины в трех зонах и необходимо учитывать сбой по крайней мере одной зоны, умножьте число экземпляров рабочей нагрузки на коэффициент зон/(зоны–1) или 3/2. Например, если типичная пиковая рабочая нагрузка требует наличия четырех экземпляров, следует подготовить шесть экземпляров: (2/3 * 6 экземпляров) = 4 экземпляра.

Маршрутизация трафика между зонами

Во время обычных операций трафик направляется между всеми доступными экземплярами плана Служба приложений во всех зонах доступности.

Взаимодействие с зонами вниз

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

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

Перенаправка трафика. Если зона недоступна, служба приложение Azure обнаруживает потерянные экземпляры из этой зоны. Он автоматически пытается найти новые экземпляры замены. Затем он распределяет трафик между новыми экземплярами по мере необходимости.

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

Примечание.

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

Внимание

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

Восстановление размещения

Когда зона доступности восстанавливается, служба приложение Azure автоматически создает экземпляры в восстановленной зоне доступности, удаляет все временные экземпляры, созданные в других зонах доступности, и направляет трафик между экземплярами как обычный.

Тестирование сбоев зоны

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

Поддержка нескольких регионов

приложение Azure служба — это служба с одним регионом. Если регион становится недоступным, приложение также недоступно.

Альтернативные решения с несколькими регионами

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

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

Примеры архитектур, демонстрирующие этот подход, см. в следующих разделах:

Дополнительные сведения о создании приложения с несколькими регионами см. в руководстве по созданию высокодоступного приложения с несколькими регионами в службе приложение Azure.

Пример подхода, иллюстрирующий эту архитектуру, см. в разделе "Высокодоступное корпоративное развертывание" с помощью Среда службы приложений.

Резервные копии

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

Соглашение об уровне обслуживания (SLA)

Соглашение об уровне обслуживания (SLA) для службы приложение Azure описывает ожидаемую доступность службы. В нем также описываются условия, которые должны быть выполнены для достижения этого ожидаемого уровня доступности. Чтобы понять эти условия, важно ознакомиться с соглашениями об уровне обслуживания (SLA) для веб-служб.

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