Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Среда службы приложений — это функция Службы приложений Azure, которая предоставляет полностью изолированную и выделенную среду для безопасного запуска приложений службы приложений в большом масштабе. В качестве службы Azure среда службы приложений предоставляет ряд возможностей для поддержки требований к надежности.
При использовании Azure надежность является общей ответственностью. Корпорация Майкрософт предоставляет ряд возможностей для поддержки устойчивости и восстановления. Вы несете ответственность за понимание того, как работают эти возможности во всех используемых вами службах, а также за выбор возможностей, необходимых для достижения бизнес-целей и целей бесперебойной работы.
В этой статье описывается поддержка надежности в среде службы приложений, включая устойчивость к временным сбоям, сбоям зоны доступности и сбоям в пределах региона. В нем также описываются стратегии резервного копирования и устойчивость к обслуживанию служб, а также выделены некоторые ключевые сведения о соглашении об уровне обслуживания службы приложений (SLA).
Замечание
В отличие от общедоступного мультитенантного предложения службы приложений, которое использует поддержку инфраструктуры, среда службы приложений предоставляет выделенные вычислительные ресурсы и расширенную сетевую изоляцию для одного клиента.
Среда обеспечивает следующие ключевые преимущества надежности:
- Выделенные вычислительные ресурсы, которые не используются другими клиентами
- Улучшенная сетевая изоляция для повышения безопасности и стабильности
- Возможность развертывания в собственной виртуальной сети для повышения контроля над маршрутизацией трафика и политиками безопасности
Дополнительные сведения о поддержке надежности в службе приложений см. в разделе "Надежность" в службе приложений.
Рекомендации по развертыванию в производственной среде
Рекомендуем включить зональную избыточность в вашей среде и планах службы приложений, что требует использования планами не менее двух экземпляров.
Обзор архитектуры надежности
При реализации среды службы приложений вы развертываете среду в качестве контейнера для планов службы приложений и веб-приложений. Во время установки настройте основные параметры сети и необязательную изоляцию оборудования. Выберите, следует ли поддерживать избыточность зоны в среде, если регион поддерживает зоны доступности.
После создания среды можно создать один или несколько планов службы приложений.
План службы приложений определяет набор вычислительных ресурсов, запускающих веб-приложения. Все веб-приложения должны выполняться внутри плана. Вы можете масштабировать план для запуска на нескольких экземплярах виртуальных машин, которые также называются рабочими ролей. Эти экземпляры предоставляют вычислительные ресурсы, которые выполняют код приложения. Один план службы приложений может размещать несколько приложений. Все приложения выполняются в одном общем наборе экземпляров виртуальных машин.
Чтобы использовать среду службы приложений, планы должны использовать ценовую категорию "Изолированная версия 2". Этот уровень поддерживает избыточность зоны и высокомасштабируемые критически важные приложения.
Служба приложений предоставляет следующие функции избыточности:
Распределение между доменами сбоя: На уровне платформы Azure автоматически распределяет экземпляры виртуальной машины плана службы приложений по доменам сбоя в регионе Azure. Это распределение сводит к минимуму риск локализованных сбоев оборудования путем группировки виртуальных машин, использующих общий сетевой коммутатор и источник питания.
Распределение между зонами доступности: Если вы включите избыточность зоны в поддерживаемом плане службы приложений, Azure распределяет экземпляры между зонами доступности в пределах региона. Эта конфигурация обеспечивает более высокую устойчивость, если происходит сбой зоны. Дополнительные сведения о избыточности зоны см. в разделе "Поддержка зоны доступности".
Масштабирование приложений: При настройке плана службы приложений для запуска нескольких экземпляров виртуальных машин все приложения в плане выполняются по умолчанию на всех экземплярах. Если вы настроите план автоматического масштабирования, все приложения масштабируются вместе на основе параметров автомасштабирования. Однако можно настроить количество экземпляров плана, запускаемых определенным приложением, с помощью масштабирования для каждого приложения.
Единицы масштабирования: Внутри App Service выполняется на инфраструктуре платформы, называемой единицами масштабирования, также известными как штампы или веб-пространства. Единица масштабирования включает все компоненты, необходимые для размещения и запуска службы приложений, включая вычислительные ресурсы, хранилище, сеть и балансировку нагрузки. Azure управляет единицами масштабирования для обеспечения сбалансированного распределения рабочих нагрузок, выполнения планового обслуживания и обеспечения общей надежности платформы.
Некоторые возможности могут применяться только к определенным единицам масштабирования. Например, некоторые единицы масштабирования службы приложений могут поддерживать избыточность зоны, а другие единицы масштабирования в том же регионе нет.
Устойчивость к временным сбоям
Временные ошибки являются короткими, периодическими сбоями в компонентах. Они часто происходят в распределенной среде, такой как облачная платформа, и являются обычной частью операций. Временные ошибки исправляют себя через короткий период времени. Важно, чтобы приложения могли обрабатывать временные ошибки, обычно повторяя затронутые запросы.
Все облачные приложения должны следовать рекомендациям по обработке временных ошибок Azure при обмене данными с любыми размещенными в облаке API, базами данных и другими компонентами. Дополнительные сведения см. в Рекомендациях по обработке временных сбоев.
Пакеты SDK, предоставляемые корпорацией Майкрософт, обычно обрабатывают временные ошибки. Так как вы размещаете собственные приложения в службе приложений, выполните действия, чтобы снизить вероятность временных сбоев:
Разверните несколько экземпляров в вашем плане. Служба приложений выполняет автоматические обновления и другие формы обслуживания в экземплярах вашего плана. Если экземпляр становится неработоспособным, служба может автоматически заменить этот экземпляр новым здоровым экземпляром. В процессе замены может быть короткий период, когда предыдущий экземпляр недоступен, и новый экземпляр не готов обслуживать трафик. Чтобы устранить эти последствия, разверните несколько экземпляров плана службы приложений.
Используйте слоты развертывания. Слоты развертывания службы приложений обеспечивают развертывание приложений без простоя. Используйте слоты развертывания, чтобы свести к минимуму влияние развертываний и изменений конфигурации для пользователей. Слоты развертывания также снижают вероятность рестарта вашего приложения. Перезапуск приложения приводит к временной ошибке.
Избегайте увеличения или уменьшения масштаба. Эти операции изменяют ЦП, память и другие ресурсы, назначенные каждому экземпляру, и они могут активировать перезапуск приложения. Вместо этого выберите уровень и размер экземпляра, которые соответствуют вашим требованиям к производительности при обычной загрузке. Для масштабирования и масштабирования динамически добавляйте и удаляйте экземпляры для обработки изменений в томе трафика.
Устойчивость к сбоям зоны доступности
Зоны доступности — это физически отдельные группы центров обработки данных в каждом регионе Azure. При сбое одной зоны службы могут переключиться на одну из оставшихся зон.
Вы можете настроить среду службы приложений в качестве избыточной зоны. Вы также можете настроить планы службы приложений для избыточности между зонами, которые распределяют их между несколькими зонами доступности.
Вы, однако, можете включать или отключать избыточность зоны в каждом плане. Это означает, что в вашей среде могут быть некоторые планы, зонально избыточные, и другие, которые таковыми не являются.
При создании зонально-резервного плана службы приложений в вашей среде, экземпляры вашего плана службы приложений распределяются по зонам доступности в регионе. Смотрите дополнительные сведения в разделе Распределение экземпляров между зонами.
Требования
Чтобы включить избыточность зоны для среды службы приложений, необходимо выполнить следующие требования:
Поддержка региона: Сведения о том, какие регионы поддерживают зоны доступности для среды службы приложений версии 3, см. в разделе "Регионы".
Тип плана: Используйте изолированные типы планов версии 2.
Минимальное количество экземпляров: Разверните не менее двух экземпляров в вашем плане.
Единица масштабирования: Ваша среда должна быть развернута в единице масштабирования, поддерживающей зоны доступности. Вы не управляете единицей масштабирования, которую использует ваша среда. Вместо этого, при создании среды App Service, эта среда распределяется по масштабируемому блоку в зависимости от группы ресурсов среды. Чтобы определить, поддерживает ли единица масштабирования для среды службы приложений избыточность зоны, проверьте поддержку избыточности зоны для среды службы приложений.
Если единица масштабирования вашей среды не поддерживает зоны доступности, вы не можете включить зональную избыточность в вашей среде или планах. Вместо этого необходимо создать новую среду в новой группе ресурсов и повторно развернуть приложения в новых планах в этой среде.
Требования к конфигурации: Настройте среду службы приложений и планы поддержки избыточности зоны. Вы можете включить избыточность зоны во время создания среды или обновить существующую среду.
Распределение экземпляров между зонами
При создании плана службы приложений, избыточного между зонами, Azure распределяет экземпляры плана по зонам доступности в регионе. Это распределение гарантирует, что ваши приложения остаются доступными, даже если одна зона испытывает сбой.
Распределение экземпляров в развертывании с избыточностью между зонами следует определенным правилам. Эти правила также применяются в качестве масштабируемых приложений в и вне:
Минимальные экземпляры: План службы приложений должен иметь не менее двух экземпляров для зональной избыточности.
Максимальное количество зон доступности, поддерживаемых планом: Azure определяет количество зон доступности, которые может использовать ваш план, который называется максимальным значениемNumberOfZones. Чтобы просмотреть количество зон доступности, которые может использовать конкретный план, см. раздел "Проверка поддержки избыточности зоны" для плана службы приложений.
Распределение экземпляров: Если включена избыточность зоны, Azure автоматически распределяет экземпляры плана между несколькими зонами доступности. Распределение основано на следующих правилах:
Если число экземпляров превышает максимальное число зоныNumberOfZones и распределяется равномерно, Azure распределяет экземпляры равномерно по зонам.
Если количество экземпляров не разделяется равномерно, Azure распределяет оставшиеся экземпляры по оставшимся зонам.
Когда платформа службы приложений выделяет экземпляры для зонально-избыточного плана службы приложений, она использует наилучшую возможную балансировку зон, которую предоставляют базовые масштабируемые наборы виртуальных машин Azure. План балансируется, если каждая зона имеет одинаковое количество виртуальных машин или отличается одним экземпляром от всех остальных зон. Дополнительные сведения см. в разделе "Балансировка зоны".
Размещение физической зоны: Вы можете просмотреть физическую зону доступности , используемую для каждого экземпляра плана службы приложений. Дополнительные сведения см. в разделе "Просмотр физических зон" для плана службы приложений.
Соображения
Сбой зоны доступности может повлиять на некоторые аспекты службы приложений, даже если приложение продолжает обслуживать трафик. К ним относятся масштабирование плана службы приложений, создание приложений, конфигурация приложений и публикация приложений.
При включении избыточности зоны в плане службы приложений вы также повышаете устойчивость во время обновлений платформы. Дополнительные сведения см. в разделе "Устойчивость к обслуживанию службы".
Для планов службы приложений, которые не являются избыточными по зонам, базовые экземпляры виртуальных машин не устойчивы к сбоям зоны доступности. Они могут столкнуться с простоем во время сбоя в любой зоне в этом регионе.
Себестоимость
Вы можете включить избыточность зоны в среде службы приложений или ее планы без дополнительных затрат. Зональная избыточность для плана предусматривает наличие двух или более экземпляров. Плата взимается на основе SKU вашего плана службы приложений, заданной вами емкости и всех экземпляров, масштабируемых в соответствии с вашими критериями автомасштабирования.
Если включить зоны доступности, но указать емкость менее двух экземпляров, платформа применяет минимальный экземпляр из двух. Платформа взымает плату за эти два случая.
Это важно
При включении зон доступности для среды службы приложений все планы службы приложений с менее чем 3 экземплярами масштабируются до 3 экземпляров. Любой план с 3 или более инстанциями остается неизменным. После завершения операции включения зон доступности можно масштабировать планы службы приложений по мере необходимости, в том числе уменьшить до менее чем 3 экземпляров.
Настройка поддержки зоны доступности
Сведения о создании, включении или отключении новой среды службы приложений, избыточной между зонами, и новых планов службы приложений, избыточных между зонами, см. в статье "Настройка сред службы приложений" и планов изолированной службы приложений версии 2 для избыточности зоны.
Замечание
Изменение состояния избыточности зоны среды службы приложений занимает 12–24 часа. Во время процесса обновления не возникают проблемы со временем простоя или производительностью.
Планирование ресурсов и управление ими
Чтобы подготовиться к сбою зоны доступности, рассмотрите избыточное выделение емкости плана службы приложений. Такой подход позволяет решению терпеть некоторые потери емкости и продолжать функционировать без снижения производительности. Дополнительные сведения см. в статье "Управление емкостью с помощью чрезмерной подготовки".
Поведение, когда все зоны работоспособны
В следующем списке описывается, что ожидать, когда планы службы приложений настроены для избыточности зоны и все зоны доступности работают.
Маршрутизация трафика между зонами: Во время обычных операций трафик направляется между всеми доступными экземплярами плана службы приложений во всех зонах доступности.
Репликация данных между зонами: Во время обычных операций любое состояние, хранящееся в файловой системе приложения, хранится в хранилище, избыточном между зонами, и синхронно реплицируется между зонами доступности.
Поведение во время сбоя зоны
Сбой зоны доступности может повлиять на некоторые аспекты службы приложений, даже если приложение продолжает обслуживать трафик. К ним относятся масштабирование плана службы приложений, создание приложений, конфигурация приложений и публикация приложений.
В следующем списке описывается, что ожидать, когда планы службы приложений настроены для избыточности зоны и одна или несколько зон доступности недоступны.
- Обнаружение и ответ: Платформа службы приложений автоматически обнаруживает сбои в зоне доступности и инициирует ответ. Нет необходимости в ручном вмешательстве для инициации переключения зоны.
Уведомление: Microsoft не уведомляет вас автоматически об отключении зоны. Тем не менее
Вы можете использовать Azure Resource Health для отслеживания работоспособности отдельного ресурса и настроить оповещения о работоспособности ресурсов , чтобы уведомить вас о проблемах.
Вы можете использовать службу "Работоспособность служб Azure ", чтобы понять общую работоспособность службы, включая все сбои зоны, и вы можете настроить оповещения о работоспособности служб , чтобы уведомить вас о проблемах.
Активные запросы: Все выполняемые запросы, которые подключаются к экземпляру плана службы приложений в зоне доступности сбоя, завершаются. Повторите эти запросы.
Перенаправка трафика: Служба приложений обнаруживает потерянные экземпляры из этой зоны и пытается найти новые экземпляры замены. После того как служба приложений находит замены, она распределяет трафик между новыми экземплярами по мере необходимости.
Если автомасштабирование настроено и определяет, что требуется больше экземпляров, он запрашивает экземпляры из службы приложений. Поведение автомасштабирования работает независимо от поведения платформы службы приложений. Поэтому спецификация счетчика экземпляров не должна быть несколькими из двух. Дополнительные сведения см. в разделе "Масштабирование приложения" в службе приложений и обзор автомасштабирования.
Это важно
Azure не гарантирует, что запросы на получение дополнительных экземпляров выполняются в сценарии вниз по зонам. Платформа пытается заполнить потерянные экземпляры на основе лучших усилий. Если во время сбоя зоны доступности требуется гарантированная емкость, создайте и настройте планы службы приложений для учета потери зоны путем чрезмерной подготовки емкости.
Поведение, отличное от запуска: Приложения в плане службы приложений, избыточных между зонами, продолжают выполняться и обслуживать трафик, даже если зона доступности возникает сбой. Однако во время сбоя зоны доступности могут повлиять нерабовременные действия. К ним относятся масштабирование плана службы приложений, создание приложений, конфигурация приложений и публикация приложений.
Восстановление зоны
Когда зона доступности восстанавливается, служба приложений автоматически создает экземпляры в восстановленной зоне доступности, удаляет все временные экземпляры, созданные в других зонах доступности, и направляет трафик между экземплярами как обычно.
Тестирование на сбои в зоне
Платформа службы приложений управляет маршрутизацией трафика, отработкой отказа и восстановлением после отказа для зонально-избыточных планов App Service. Эта функция полностью управляется, поэтому не требуется инициировать или проверять процессы сбоя зоны доступности.
Устойчивость к сбоям на уровне региона
Служба приложений — это однорегиональная служба. Если регион становится недоступным, среда и ее планы и приложения также становятся недоступными.
Индивидуальные решения для нескольких регионов для повышения устойчивости
Чтобы снизить риск сбоя в одном регионе, влияющего на приложение, разверните несколько сред службы приложений в нескольких регионах. Следующие шаги помогают укрепить устойчивость:
- Разверните приложение в средах службы приложений в каждом регионе.
- Настройте политики балансировки нагрузки и отказоустойчивости.
- Реплицируйте данные в разных регионах, чтобы можно было восстановить последнее состояние приложения.
Пример подхода, демонстрирующего эту архитектуру, см. в статье " Высокодоступное корпоративное развертывание" с помощью среды службы приложений.
Резервное копирование и восстановление
Чтобы создать резервную копию приложений службы приложений в файл, используйте возможности резервного копирования и восстановления службы приложений.
Эти возможности помогают при повторном развертывании кода или при хранении состояния на диске. Большинство решений не должны полагаться исключительно на резервные копии. Вместо этого используйте другие возможности в этом руководстве для поддержки требований к устойчивости. Однако резервные копии защищают от некоторых рисков, которые другие методы не обеспечивают.
Это важно
Начиная с 31 марта 2028 г. пользовательские резервные копии службы приложений Azure больше не будут поддерживать резервное копирование связанных баз данных. Дополнительные сведения см. в статье об отмене резервного копирования связанных баз данных .
Вместо этого используйте собственные средства резервного копирования и восстановления связанной базы данных. Дополнительные сведения см. в статье "Резервное копирование и восстановление приложения в службе приложений".
Устойчивость к обслуживанию служб
Служба приложений выполняет регулярные обновления служб и другие задачи обслуживания. Для поддержания ожидаемой емкости во время обновления платформа автоматически добавляет дополнительные экземпляры плана службы приложений во время процесса обновления.
Включите зоновую избыточность. При включении избыточности зоны в плане службы приложений вы также повышаете устойчивость во время обновлений платформы. Домены обновления состоят из коллекций виртуальных машин, которые переходят в автономный режим во время обновления, и они сопоставляются с зонами доступности. Развертывание нескольких экземпляров в плане службы приложений и включение избыточности зоны для плана добавляет дополнительный уровень устойчивости, если экземпляр или зона становится неработоспособным во время обновления.
Настройка цикла обновления. Цикл обновления можно настроить для среды службы приложений. Если необходимо проверить влияние обновлений на рабочую нагрузку, включите обновления вручную. Этот подход позволяет выполнять проверку и тестирование в непроизводном экземпляре, прежде чем применять их к рабочему экземпляру.
Дополнительные сведения о параметрах обслуживания см. в разделе "Параметры обновления" для планового обслуживания службы приложений.
Соглашение об уровне обслуживания
Соглашение об уровне обслуживания (SLA) для служб Azure описывает ожидаемую доступность каждой службы и условия, которые должно соответствовать вашему решению для достижения этого ожидания доступности. Для получения дополнительной информации см. Соглашения об уровне обслуживания для онлайн-сервисов.
При развертывании зонально-избыточного плана службы приложений увеличивается процент доступности, определенный в соглашении об уровне обслуживания.