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


Выбор подходящих служб Azure для интеграции и автоматизации

В этой статье сравниваются следующие облачные службы Майкрософт:

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

Примечание.

Если вы ищете более общее сравнение между Функции Azure и другими вариантами вычислений Azure, ознакомьтесь со следующими статьями:

Сводка и сравнение параметров службы автоматизации в Azure см. в разделе "Выбор служб автоматизации" в Azure.

Сравнение Azure Logic Apps и Microsoft Power Automate

Эти службы — платформы интеграции, ориентированные в первую очередь на дизайнеров, где можно создавать и запускать автоматизированные рабочие процессы. Обе платформы интегрируются с различными приложениями Software-as-Service (SaaS) и корпоративными приложениями. Оба предоставляют аналогичные конструкторы рабочих процессов, и хотя их соединители в некоторых случаях пересекаются, каждая платформа также предлагает свои собственные уникальные соединители.

Power Automate позволяет бизнес-пользователям, сотрудникам офисов и разработчикам граждан создавать простые интеграции без необходимости работать с ИТ или разработчиками или писать код. Одним из примеров может быть рабочий процесс утверждения для библиотеки документов SharePoint. Azure Logic Apps поддерживает интеграции, начиная от сценариев с минимальным или отсутствующим кодированием до более продвинутых, с полноценным кодированием и сложных рабочих процессов. Примерами являются процессы или сценарии B2B, требующие взаимодействия корпоративного уровня с Azure DevOps. Рабочий процесс бизнеса также может расти от простого до завершения с течением времени.

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

Сравнение служб "Функции Azure" и Azure Logic Apps

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

Для функций Azure вы разрабатываете оркестрации, написав код и используя расширение Durable Functions. Для Azure Logic Apps можно создавать оркестрации с помощью визуального конструктора или редактирования шаблонов Azure Resource Manager.

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

Устойчивые функции Приложения логики Azure
Разработка Code First (императивный подход) Ориентированный на дизайнера (декларативный подход)
Подключение - Десятки встроенных типов привязки
— Напишите код для пользовательских привязок
- 1400+ готовых коннекторов с триггерами и действиями
- Корпоративный пакет интеграции для сценариев B2B
- Пользовательские соединители
Действия Каждое действие — это функция Azure; пишите код для функций действий Более 1400 готовых коннекторов с триггерами и действиями
Мониторинг Azure Application Insights - Портал Azure
- Журналы Azure Monitor
- Microsoft Defender для облака
- Azure Application Insights для стандартных рабочих процессов
- Проверка работоспособности для стандартных рабочих процессов

Дополнительные сведения см. в статье "Мониторинг рабочих процессов в Azure Logic Apps".
Управление - REST API
- Visual Studio
- Портал Azure
- Visual Studio Code
- REST API
- PowerShell
- Azure CLI (стандартные рабочие процессы)
- Azure CLI (рабочие процессы потребления)
Контекст выполнения Можно запускать локально или в облаке Может работать в Azure, локально в Visual Studio Code или в частично подключенных средах. Дополнительные сведения см. в статье Что такое Azure Logic Apps?.

Сравнение функций и веб-заданий

Подобно решению "Функции Azure", компонент "Веб-задания" службы приложений Azure с пакетом SDK для веб-заданий является службой интеграции на основе модели code-first, предназначенной для разработчиков. Обе службы созданы на основе службы приложений Azure и поддерживают следующие возможности: интеграция системы управления версиями, проверка подлинности и мониторинг с помощью интеграции Application Insights.

Веб-задания и пакет SDK для веб-заданий

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

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

Сравнительная таблица

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

Функции Компонент "Веб-задания" с пакетом SDK для веб-заданий
Бессерверная модель приложения с автоматическим масштабированием
Разработка и тестирование в браузере
Оплата по мере использования
Интеграция с Logic Apps
События триггера Таймер
Очереди и блобы хранения Azure
Очереди и разделы служебной шины Azure
Azure Cosmos DB
Центры событий Azure
HTTP или вебхук (GitHub, Slack)
Сетка событий Azure
Таймер
Очереди и блобы в хранилище Azure
Очереди и разделы служебной шины Azure
Azure Cosmos DB
Центры событий Azure
Файловая система
Поддерживаемые языки C#
F#
JavaScript
Java
Python
PowerShell
C#1
Диспетчеры пакетов npm и NuGet NuGet2

1 Веб-задания (без пакета SDK для веб-заданий) поддерживают такие языки, как C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python и т. д. Веб-задание может выполнять любую программу или скрипт, которые могут работать в песочнице App Service.

2 WebJobs (без использования SDK для WebJobs) поддерживают npm и NuGet.

Итоги

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

Ниже приведены два сценария, для которых веб-задания могут быть лучшим выбором:

  • Требуется больший контроль над кодом, который прослушивает события, — над объектом JobHost. Функции предоставляют ограниченное количество методов настройки поведения JobHost в файле host.json. Иногда необходимо выполнить действия, которые нельзя указать с помощью строки в JSON-файле. Например, только WebJobs SDK позволяет настроить пользовательскую политику повтора для Azure Storage.
  • У вас есть приложение Службы приложений, для которого необходимо выполнить фрагменты кода и управлять ими совместно в той же среде Azure DevOps.

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

Совместное использование Power Automate, Logic Apps, Функций и Веб-заданий

Вам не обязательно выбирать какую-то одну из этих служб. Они интегрируются друг с другом и внешними службами.

Поток Power Automate может вызывать рабочий процесс Azure Logic Apps. Рабочий процесс Azure Logic Apps может вызывать функцию в Функциях Azure и наоборот. Пример см. в статье Создание функции, интегрируемой с Azure Logic Apps.

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

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

Следующие шаги

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