Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье сравниваются следующие облачные службы Майкрософт:
- 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 вы разрабатываете оркестрации, написав код и используя расширение Durable Functions. Для Azure Logic Apps можно создавать оркестрации с помощью визуального конструктора или редактирования шаблонов Azure Resource Manager.
При построении оркестрации вы можете комбинировать сервисы. Например, можно вызывать функции из рабочих процессов приложения логики и вызывать рабочие процессы приложения логики из функций. Выберите способ создания оркестраций с учетом ваших предпочтений и возможностей, предоставляемых каждой службой. В следующей таблице представлены некоторые основные различия между этими службами:
Сравнение функций и веб-заданий
Подобно решению "Функции 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 и Функциями взаимодействие между этими службами продолжает улучшаться с течением времени. Вы можете создать компонент в одной службе, а использовать его в других.
Дополнительные сведения о службах интеграции см. в следующих статьях:
- 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
Следующие шаги
Начните с создания потока, логического приложения или функционального приложения. Выберите любую из следующих ссылок: