Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Песочницы Контейнеры приложений Azure предоставляют изолированные среды для выполнения кода. Каждая песочница работает в облегчённой виртуальной машине (microVM), которая запускается менее чем за секунду и может сохранять своё состояние в памяти при её приостановке. Служба поддерживает надежность рабочих нагрузок песочницы с помощью возможностей, которые вы настраиваете и возможности, которыми управляет платформа от вашего имени.
При использовании Azure надежность — это общая ответственность. Корпорация Майкрософт предоставляет ряд возможностей для поддержки устойчивости и восстановления. Вы несете ответственность за понимание того, как работают эти возможности во всех используемых вами службах, а также за выбор возможностей, необходимых для достижения бизнес-целей и целей бесперебойной работы.
В этой статье описано, как повысить устойчивость песочниц Container Apps к временным сбоям, сбоям зон доступности, сбоям в масштабе региона и техническому обслуживанию службы. В нем также описываются параметры резервного копирования и восстановления, а также ключевые сведения о соглашении об уровне обслуживания (SLA).
Рекомендации по развертыванию в рабочей среде для обеспечения надежности
Мы рекомендуем для производственных рабочих нагрузок:
Сохраните устойчивые данные вне памяти песочницы и выберите вариант избыточности хранилища, соответствующий целям восстановления. Используйте тома песочницы для данных, которые должны сохраняться при остановке песочницы. Для обеспечения устойчивости к сбою на уровне региона используйте внешнее хранилище данных, которое реплицирует данные в другой регион.
Когда вы используете Хранилище BLOB-объектов Azure, геоизбыточное хранилище (GRS) реплицирует данные в парный регион. Для непарных регионов разверните отдельные учетные записи хранилища и настройте поддерживаемый метод репликации, например объектную репликацию для блочных BLOB-объектов. Дополнительные сведения см. в разделе "Пользовательские многорегионные решения" для Хранилище BLOB-объектов Azure.
Разверните отдельные изолированные среды в нескольких регионах, если при развертывании в одном регионе невозможно обеспечить требуемый уровень доступности. Дополнительные сведения см. в разделе "Устойчивость к сбоям на уровне региона".
Обзор архитектуры надежности
В этом разделе описываются некоторые важные аспекты работы службы, наиболее релевантные с точки зрения надежности. В этом разделе представлена логическая архитектура, включающая некоторые ресурсы и функции, которые развертываются и используются. Он также обсуждает аппаратную архитектуру, которая содержит сведения о том, как работает служба изнутри.
Логическая архитектура
Контейнеры приложений Azure предоставляет различные варианты вычислений для приложений, заданий, динамических сеансов и песочниц. Для групп Sandbox не нужна среда Container Apps. Дополнительные сведения о надежности других компонентов приложений контейнеров см. в разделе "Надежность" в Контейнеры приложений Azure.
Основными ресурсами в песочницах Container Apps являются:
Группа песочниц:Группа песочниц — это региональная граница управления верхнего уровня для песочниц и использует тип ресурса
Microsoft.App/sandboxGroups. Все песочницы, образы дисков, моментальные снимки, тома и конфиденциальные значения конфигурации (секреты) относятся к группе песочниц.Песочница: Каждая песочница — это легковесная изолированная микро-ВМ, которая запускается из образа диска или снимка и имеет собственные ЦП, память, локальный диск и сетевую изоляцию.
Образ диска — это образ контейнера Open Container Initiative (OCI), преобразованный для использования в качестве корневой файловой системы песочницы.
Моментальный снимок — это запись полного состояния песочницы, которая сохраняется независимо от исходной песочницы.
Состояние песочницы может быть запущено или остановлено. Когда песочница останавливается автоматически или по запросу, она освобождает вычислительные ресурсы. Режим памяти сохраняет полный образ памяти песочницы и локальный диск. Режим диска сохраняет только локальный диск, поэтому микро-ВМ и её процессы перезапускаются при возобновлении песочницы.
Тома: Локальный диск относится к отдельной песочнице. Том песочницы предоставляет постоянное хранилище, которое существует независимо от конкретной песочницы. Тома Хранилище BLOB-объектов Azure можно подключить к нескольким песочницам одновременно, а томы дисков данных, поддерживаемые Хранилище дисков Azure, могут подключаться только к одной песочнице одновременно. Сервис базового хранилища определяет долговечность хранения и варианты восстановления данных тома.
Дополнительные сведения об архитектуре песочницы и ее ресурсах см. в статье Обзор песочниц Контейнеры приложений Azure.
Физическая архитектура
Песочницы запускаются в нескольких независимых вычислительных кластерах, которые эксплуатирует Microsoft. Вы несете ответственность за настройку групп песочницы, песочниц и других развернутых ресурсов. Microsoft отвечает за развертывание кластера, конфигурацию, управление емкостью, мониторинг работоспособности и обслуживание. Вы не выбираете, развертываете, настраиваете или управляете кластерами. Служба размещает новые песочницы и перезапускает остановленные песочницы в работоспособных кластерах, а также направляет размещение в обход неработоспособных кластеров.
Microsoft поддерживает избыточные хранилища состояния для конфигурации сервисов, метаданных песочницы и таких артефактов, как образы дисков и моментальные снимки.
Устойчивость к временным сбоям
Временные ошибки являются короткими, периодическими сбоями в компонентах. Они часто происходят в распределенной среде, такой как облачная платформа, и являются обычной частью операций. Временные ошибки исправляют себя через короткий период времени. Важно, чтобы приложения могли обрабатывать временные ошибки, обычно повторяя затронутые запросы.
Все облачные приложения должны следовать рекомендациям по обработке временных ошибок Azure при обмене данными с любыми размещенными в облаке API, базами данных и другими компонентами. Дополнительные сведения см. в Рекомендациях по обработке временных сбоев.
При использовании песочниц Container Apps учитывайте временные сбои в следующих частях решения:
Операции управления песочницами: Когда ваши средства автоматизации управляют группами песочниц, песочницами или связанными ресурсами, повторяйте запросы, завершающиеся сбоем из-за временных ошибок, используя экспоненциальную задержку между повторами. Ограничьте количество повторных попыток и повторяйте только те операции, которые безопасно выполнять повторно.
Код, выполняющийся в песочнице: Реализуйте временную обработку ошибок для вызовов внешних API, баз данных и других служб. Следуйте инструкциям по повторным попыткам для каждой зависимости, так как поведение повторных попыток и операции, безопасные для повторения, зависят от службы.
Устойчивость к сбоям зоны доступности
Песочницы Container Apps не поддерживают развертывание в конкретной зоне доступности или зональную избыточность для группы песочниц. Чтобы обеспечить устойчивость рабочей нагрузки к сбоям зоны доступности, разверните отдельные группы песочниц в нескольких регионах. Дополнительные сведения см. в разделе "Устойчивость к сбоям на уровне региона".
Устойчивость к сбоям на уровне региона
Песочницы Container Apps — однорегиональная служба. Если регион оказывается недоступным, ваши группы песочниц и входящие в них песочницы также становятся недоступными. Служба не реплицирует группы песочниц или песочницы между регионами и не выполняет автоматическое переключение при сбое в другой регион. Однако можно развернуть отдельные группы песочниц в нескольких регионах. Вы отвечаете за обеспечение доступности зависимостей во всех регионах и управление распределением нагрузки и переключением при отказе. Дополнительные сведения см. в разделе Настраиваемые многорегиональные решения для обеспечения отказоустойчивости.
Во время сбоя на уровне региона вы можете потерять любое состояние, удерживаемое только в памяти работающей песочницы. Группы песочниц, песочницы и артефакты, управляемые службой, в затронутом регионе остаются недоступными до тех пор, пока регион не восстановится.
Тома песочницы предоставляют хранилище, которое сохраняется за пределами жизненного цикла отдельной песочницы. Во время сбоя на уровне региона доступность томов и восстановление зависят от резервной службы хранилища и ее конфигурации. Песочницы контейнерных приложений не обеспечивают репликацию данных между регионами или автоматическое переключение при сбое для данных в томах. Вместо этого служба резервного хранилища предоставляет эти возможности при настройке. Например, сведения о томах Хранилище BLOB-объектов Azure см. в разделе Надежность в Хранилище BLOB-объектов Azure.
Кастомные многорегиональные решения для повышения отказоустойчивости
Песочницы Контейнеры приложений Azure не координируют развертывания в нескольких регионах и не реплицируют группы песочниц, сами песочницы или связанные с ними ресурсы между регионами. Чтобы создать пользовательское мультирегионное решение, у вас есть следующие обязанности.
Региональные развертывания и зависимости: Разверните отдельную изолированную группу в каждом регионе, который вы планируете использовать. Сохраняйте конфигурацию, образы дисков, секреты и другие зависимости, доступные в каждом регионе.
Обнаружение сбоев и восстановление рабочих нагрузок: Настройте приложение или уровень оркестрации так, чтобы обнаруживать, когда регион недоступен, направлять создание новых песочниц и обработку рабочих нагрузок в работоспособный регион, а также определять, как перезапустить прерванную работу.
Маршрутизация трафика: Если клиенты подключаются через конечные точки, предоставляемые приложением, используйте глобальную службу балансировки нагрузки, например Azure Front Door или Диспетчер трафика Azure, для маршрутизации трафика в здоровую конечную точку.
Репликация и восстановление данных: Сохраняйте все данные состояния, необходимые после переключения при отказе, во внешнем хранилище данных, поддерживающем межрегиональную репликацию и восстановление. Если служба базового хранилища предоставляет межрегиональную репликацию данных тома, то именно эта служба определяет поведение репликации и переключения при отказе. Песочницы Контейнеры приложений Azure не реплицируют данные томов между регионами и не поддерживают переключение при отказе.
Резервное копирование и восстановление
Не используйте память песочницы или локальный диск в качестве единственного устойчивого хранилища данных. При приостановке песочницы сохраняются её локальный диск и, в режиме памяти, состояние её памяти. Вы также можете создавать моментальные снимки, которые сохраняются независимо от исходной песочницы. Приостановленное состояние и моментальные снимки остаются в пределах региональной группы песочницы и не являются резервными копиями между регионами.
Используйте том песочницы для данных, которые должны сохраняться за пределами жизненного цикла отдельной песочницы. Служба хранения, используемая в качестве базового хранилища, и ее конфигурация определяют возможности резервного копирования и восстановления данных томов. Для внешних хранилищ данных, которыми вы управляете, вы отвечаете за настройку резервного копирования и межрегионного восстановления в соответствии с целями устойчивости и восстановления.
Чтобы повторно развернуть песочницу после случайного удаления или сбоя в масштабе региона, храните конфигурацию группы песочницы в шаблонах «инфраструктура как код» в системе контроля версий, например в Bicep или Terraform. Сохраните исходные образы дисков в реестре, удовлетворяющем вашим требованиям к восстановлению.
Устойчивость к обслуживанию служб
Корпорация Майкрософт регулярно применяет обновления служб и выполняет другое обслуживание. Платформа Azure автоматически обрабатывает эти действия, обеспечивая простое и прозрачное обслуживание. Во время операций обслуживания вы можете заметить краткие прерывания. Обычно эти прерывания длились несколько секунд. Убедитесь, что клиентские приложения настроены для обработки временных сбоев , чтобы они были устойчивыми к коротким прерываниям.
Когда обслуживание затрагивает активную песочницу, платформа сохраняет её состояние, перемещает её на исправные вычислительные ресурсы и автоматически возобновляет её работу. Для песочниц, использующих режим памяти, платформа сохраняет память и состояние локального диска. Для песочниц, использующих режим диска, платформа сохраняет только состояние локального диска.
Соглашение об уровне обслуживания
Для песочниц Контейнеры приложений Azure не предусмотрено соглашение об уровне обслуживания (SLA) в отношении доступности. Службы хранилища, которые обеспечивают тома среды-песочницы и внешние хранилища данных, используемые вашим решением, могут иметь отдельные соглашения об уровне обслуживания. Дополнительные сведения см. в соглашениях об уровне обслуживания для веб-служб.