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