Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье сравниваются следующие Майкрософт облачные службы:
- Майкрософт Power Automate (ранее Microsoft Flow)
- Приложения логики Azure
- Функции Azure
- Служба приложений Azure WebJobs
Все эти службы используются для настройки интеграции и автоматизации бизнес-процессов. Они позволяют определять входные данные, действия, условия и выходные данные. Каждую из них можно запускать по расписанию или триггеру. Каждая служба обладает уникальными преимуществами, но в этой статье описываются их различия.
Примечание.
Если вы ищете более общее сравнение между Функции Azure и другими вариантами вычислений Azure, ознакомьтесь со следующими статьями:
Сводку и сравнение параметров служб автоматизации в Azure см. в разделе Выбор служб автоматизации в Azure.
Сравнение Azure Logic Apps и Майкрософт Power Automate
Эти службы — платформы интеграции, ориентированные на дизайнеров, в которых можно создавать и запускать автоматизированные рабочие процессы. Обе платформы интегрируются с различными приложениями SaaS и корпоративного программного обеспечения. Оба предоставляют аналогичные конструкторы рабочих процессов, и, хотя их соединители частично перекрываются, каждая платформа также предлагает собственные уникальные соединители.
Power Automate позволяет бизнес-пользователям, сотрудникам офисов и разработчикам граждан создавать простые интеграции без необходимости работать с ИТ-отделом или разработчиками или писать код. Одним из примеров может быть рабочий процесс утверждения для библиотеки документов SharePoint. Azure Logic Apps поддерживает интеграцию, начиная от сценариев с минимальным или отсутствующим кодом и до более сложных рабочих процессов, требующих написания кода. К примерам относятся процессы или сценарии B2B, требующие взаимодействия корпоративного уровня с Azure DevOps. Рабочий процесс бизнеса также может расти от простого до завершения с течением времени.
Чтобы определить, следует ли использовать Azure Logic Apps или Power Automate для конкретной интеграции, см. таблицу сравнения Capability.
Сравнение Функции Azure и Azure Logic Apps
Эти службы Azure позволяют создавать и запускать бессерверные рабочие нагрузки. Функции Azure — это бессерверная служба вычислений, а Azure Logic Apps — это бессерверная платформа интеграции рабочих процессов. Оба могут создавать сложные оркестрации. Оркестрация — это коллекция функций, которые называются actions в Azure Logic Apps, которые можно запустить для выполнения сложной задачи. Например, для обработки пакета заказов можно запустить параллельное выполнение множества экземпляров функции, дождаться завершения их работы, а затем выполнить функцию, которая вычислит все полученные результаты.
Для Функции Azure вы разрабатываете оркестрации путем написания кода и использования расширения Устойчивые функции. Для Azure Logic Apps создается оркестрация с помощью визуального конструктора или редактирования шаблонов Azure Resource Manager.
При построении оркестрации вы можете комбинировать сервисы. Например, можно вызывать функции из рабочих процессов приложения логики и вызывать рабочие процессы приложения логики из функций. Выберите способ создания оркестраций с учетом ваших предпочтений и возможностей, предоставляемых каждой службой. В следующей таблице представлены некоторые основные различия между этими службами:
Сравнение функций и веб-заданий
Как и Функции Azure, Служба приложений Azure веб-задания с пакетом SDK для веб-заданий — это интеграционная служба code-first, предназначенная для разработчиков. Оба компонента основаны на Служба приложений Azure и поддерживают такие функции, как интеграция системы управления версиями, аутентификация и мониторинг с интеграцией с Application Insights.
Веб-задания и пакет SDK для веб-заданий
Функцию веб-заданий службы приложений можно использовать для запуска скрипта или кода в контексте веб-приложения службы приложений. Пакет SDK WebJobs — это платформа, предназначенная для веб-заданий, которая упрощает написание кода для реагирования на события в службах Azure. Например, можно ответить на создание большого двоичного объекта изображения в служба хранилища Azure путем создания эскиза изображения. Пакет SDK веб-заданий выполняется как консольное приложение .NET, которое можно развернуть в веб-задании.
Веб-задания и пакет SDK для веб-заданий лучше всего использовать вместе, но можно и по отдельности. Веб-задания могут выполнять любые программы или скрипты, выполняемые в песочнице службы приложений. Консольное приложение пакета SDK для веб-заданий можно запускать там же, где и остальные консольные приложения, например на локальных серверах.
Сравнительная таблица
Функции Azure основан на SDK WebJobs, поэтому он использует многие из тех же триггеров событий и подключений к другим службам Azure. Ниже приведены некоторые факторы, которые следует учитывать при выборе между Функции Azure и веб-заданиями с помощью пакета SDK для веб-заданий.
| Функции | Компонент "Веб-задания" с пакетом SDK для веб-заданий | |
|---|---|---|
| Бессерверная модель приложения с автоматическим масштабированием | ✔ | |
| Разработка и тестирование в браузере | ✔ | |
| Цены на оплату за использование | ✔ | |
| Интеграция с Logic Apps | ✔ | |
| События триггера |
Таймер хранилище Azure Служебная шина Azure Azure Cosmos DB Центры событий Azure HTTP/WebHook (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 веб-задания (без пакета SDK для веб-заданий) поддерживают npm и NuGet.
Итоги
Функции Azure обеспечивает большую продуктивность разработчика, чем Служба приложений Azure WebJobs. Функции 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 и наоборот. Например, см. функцию Create, которая интегрируется с Azure Logic Apps.
Между Power Automate, Azure Logic Apps и Функциями взаимодействие между этими службами продолжает улучшаться с течением времени. Вы можете создать компонент в одной службе, а использовать его в других.
Дополнительные сведения о службах интеграции см. в статье Power Automate часто задаваемые вопросы.