Выбор подходящих служб Azure для интеграции и автоматизации
В этой статье сравниваются следующие облачные службы Майкрософт:
- Microsoft Power Automate (прежнее название — Microsoft Flow)
- Приложения логики Azure
- Функции Azure
- веб-задания службы приложений 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", компонент "Веб-задания" службы приложений 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 и Функциями взаимодействие между этими службами продолжает улучшаться с течением времени. Вы можете создать компонент в одной службе, а использовать его в других.
Дополнительные сведения о службах интеграции см. в следующих статьях:
- Leveraging Azure Functions & Azure App Service for integration scenarios by Christopher Anderson (Использование функций Azure и службы приложений Azure в сценариях интеграции. Автор: Кристофер Андерсон (Christopher Anderson))
- Integrations Made Simple by Charles Lamanna (Упрощенные возможности интеграции. Автор: Чарльз Ламанна (Charles Lamanna))
- Веб-трансляция Azure Logic Apps Live
- Часто задаваемые вопросы о Power Automate
Следующие шаги
Начните работу с создания потока, рабочего процесса приложения логики или приложения-функции. Выберите любую из следующих ссылок: