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

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

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

Примечание.

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

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

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

Power Automate и Azure Logic Apps — это службы интеграции, которые могут создавать рабочие процессы. Обе службы интегрируются с разными корпоративными приложениями и приложениями SaaS.

Power Automate основан на платформе Azure Logic Apps. Оба предоставляют аналогичные конструкторы рабочих процессов и соединители.

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

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

Power Automate Logic Apps
Пользователи Офисные сотрудники, бизнес-пользователи, администраторы SharePoint Профессиональные интеграторы и разработчики, ИТ-специалисты
Сценарии Самообслуживание Расширенные интеграции
Средство разработки В браузере и мобильном приложении, только пользовательский интерфейс В браузере, Visual Studio Code и Visual Studio с доступным представлением кода
Управление жизненным циклом приложений (ALM) Power Platform предоставляет средства , которые интегрируются с DevOps и GitHub Actions , чтобы позволить создавать автоматизированные конвейеры в цикле ALM. Azure DevOps: система управления версиями, тестирование, поддержка, автоматизация и управление в Azure Resource Manager
Возможности для администраторов Управление средами Power Automate и политиками защиты от потери данных (DLP), отслеживайте лицензирование: Администратор центр Управление группами ресурсов, подключениями, управлением доступом и ведением журнала: портал Azure
Безопасность Журналы аудита безопасности Microsoft 365, защита от потери данных, шифрование неактивных конфиденциальных данных Обеспечение безопасности Azure: безопасность Azure, Microsoft Defender для облака, журналы аудита

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

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

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

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

Устойчивые функции Приложения логики Azure
Разработка Code First (императивный подход) Designer-first (декларативный подход)
Подключение Около десяти встроенных типов привязки; написание кода для пользовательских привязок Большая коллекция соединителей, пакет интеграции Enterprise для сценариев B2B, создание пользовательских соединителей
Действия Каждое действие является функцией Azure; написание кода для функций действий Большая коллекция готовых действий
Мониторинг Azure Application Insights портал Azure, журналы Azure Monitor, Microsoft Defender для облака
Управление REST API, Visual Studio Портал Azure, REST API, PowerShell, Visual Studio
Контекст выполнения Можно запускать локально или в облаке Выполняется в Azure или локально. Дополнительные сведения см. в статье Что такое 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, Logic Apps и Функциями постоянно улучшается. Вы можете создать компонент в одной службе, а использовать его в других.

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

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

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