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


Выбор подходящих служб 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 оркестрации разрабатываются путем написания кода и использования расширения "Устойчивые функции". Для Azure Logic Apps можно создавать оркестрации с помощью визуального конструктора или редактирования шаблонов Azure Resource Manager.

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

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

Дополнительные сведения см. в статье "Мониторинг рабочих процессов в 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, создав эскиз. Пакет 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 и т. д. Веб-задания могут выполнять любые программы или скрипты, выполняемые в песочнице службы приложений.

2 веб-задания (без пакета SDK для веб-заданий) поддерживают npm и NuGet.

Итоги

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

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

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

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

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

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

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

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

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

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

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