Поделиться через


Надежность в Azure Logic Apps

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

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

В этой статье описывается, как обеспечить устойчивость рабочих процессов приложения логики к различным потенциальным сбоям и проблемам, включая временные неисправности, сбои в зонах доступности и сбои в регионах. Здесь также выделены некоторые ключевые сведения о соглашении об уровне обслуживания Azure Logic Apps (SLA).

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

Мы рекомендуем для производственных рабочих нагрузок:

  • Для корпоративных и безопасных рабочих процессов с требованиями к изоляции или безопасности сети создайте и запустите стандартные рабочие процессы в Azure Logic Apps с одним клиентом, а не рабочие процессы потребления в мультитенантных Azure Logic Apps. Дополнительные сведения см. в статье "Создание и развертывание в разных средах".

Обзор архитектуры надежности

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

Логическая архитектура

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

При доступе к данным в локальных системах можно установить локальный шлюз данных. Каждый ресурс шлюза представляет собой отдельную установку шлюза данных на локальном компьютере. Локальный шлюз данных можно настроить для обеспечения высокой доступности с помощью нескольких компьютеров. Дополнительные сведения см. в разделе "Поддержка высокой доступности".

При использовании Azure Logic Apps для сценариев предприятий для интеграции бизнеса (B2B) можно развернуть учетные записи интеграции, в которых определяются и хранятся артефакты, используемые рабочими процессами логических приложений.

Физическая архитектура

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

Для приложений логики уровня "Стандартный" Azure Logic Apps использует вычислительные ресурсы с именем "Планы обслуживания рабочих процессов" или планы, выделенные для вас. Каждый план может иметь несколько экземпляров, которые можно при необходимости распределять по нескольким зонам доступности. Каждый экземпляр приблизительно соответствует виртуальной машине, но вы не видите этих виртуальных машин и не нужно настраивать или управлять ими напрямую. Рабочие процессы выполняются на экземплярах вашего плана.

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

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

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

Устойчивость к временным сбоям

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

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

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

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

Дополнительные сведения см. в статье Об обработке ошибок и исключений в Azure Logic Apps.

Устойчивость к сбоям зоны доступности

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

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

Новые и существующие рабочие процессы Consumption logic apps в мультитенантных Azure Logic Apps автоматически обеспечивают зональную избыточность.

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

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

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

Requirements

  • Поддержка региона: Приложения логики потребления, развернутые в любом регионе, поддерживающем зоны доступности , автоматически являются избыточными по зонам. Западная Япония является исключением, которое в настоящее время не поддерживает приложения логики с зональной избыточностью, так как некоторые зависимые службы пока не поддерживают зональную избыточность.
  • Поддержка региона: Стандартные приложения логики с избыточностью между зонами можно развертывать с помощью планов служб рабочих процессов Workflow Service в любом регионе, поддерживающем зоны доступности для службы приложений Azure. Западная Япония является исключением, которое в настоящее время не поддерживает приложения логики с зональной избыточностью, так как некоторые зависимые службы пока не поддерживают зональную избыточность. Дополнительные сведения см. в разделе «Надежность в службе приложений Azure».
  • Поддержка регионов. Сведения о том, какие регионы поддерживают зоны доступности для среды службы приложений версии 3, см. в разделе "Регионы".
  • Количество экземпляров: необходимо развернуть по крайней мере два экземпляра плана обслуживания рабочего процесса. Каждый экземпляр примерно соответствует одной виртуальной машине, поэтому для распределения этих экземпляров между несколькими зонами доступности необходимо иметь как минимум два экземпляра.

Considerations

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

  • Учетные записи интеграции: учетные записи интеграции уровня "Премиум" по умолчанию являются географически распределенными.

Cost

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

Если у вас есть стандартные приложения логики с планом службы рабочих процессов в Azure Logic Apps с одним клиентом, дополнительные затраты не применяются к включению зон доступности, если у вас есть два или более экземпляра плана. Плата взимается на основе SKU данного плана, указанной емкости и всех экземпляров, которые масштабируются в зависимости от ваших критериев автомасштабирования. Если вы включите зоны доступности, но укажете менее двух экземпляров, платформа обеспечивает минимальное количество в два экземпляра и взимает плату за них.

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

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

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

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

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

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

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

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

Поведение, когда все зоны работоспособны

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

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

  • Репликация данных между зонами: Для рабочих процессов с отслеживаемым состоянием состояние рабочего процесса синхронно реплицируется между зонами доступности с помощью зонально избыточного хранилища (ZRS).

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

  • Репликация данных между зонами. Для рабочих процессов с отслеживанием состояния состояние рабочего процесса сохраняется в зависимости от настроенного хранилища состояний. При использовании службы хранилища Azure в качестве внешней системы хранения необходимо использовать зонально-избыточное хранилище (ZRS), которое синхронно реплицирует состояние процессов между зонами доступности.

Поведение во время сбоя зоны

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

  • Обнаружение и ответ. Azure Logic Apps отвечает за обнаружение сбоя в зоне доступности. Вам не нужно ничего делать, чтобы инициировать переключение на резервную зону.
  • Активные запросы. Если зона доступности становится недоступной, Azure Logic Apps завершает выполнение всех выполняемых рабочих процессов, выполняемых на виртуальной машине в зоне доступности сбоя. Платформа автоматически возобновляет рабочий процесс на другой виртуальной машине в другой зоне доступности. Из-за этого активные рабочие процессы могут столкнуться с некоторыми временными сбоями или более высокой задержкой, так как новые виртуальные машины добавляются в остальные зоны доступности.

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

  • Ожидаемая потеря данных: Не ожидается потеря данных.

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

Восстановление зоны

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

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

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

Устойчивость к сбоям на уровне региона

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

Индивидуальные решения для нескольких регионов для повышения устойчивости

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

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

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

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

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