Исследование Функций Azure

Завершено

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

Мы часто создаем системы, чтобы реагировать на ряд критических событий. В случае возникновения этих событий каждое приложение должно иметь возможность запускать код независимо от того, что вы делаете: создаете веб-API, реагируете на изменения базы данных, обрабатываете потоки данных Интернета вещей или даже управляете очередями сообщений.

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

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

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

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

В следующей таблице перечислены некоторые основные различия между функциями и logic Apps:

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

Сравнение функций и веб-заданий

Подобно решению "Функции Azure", компонент "Веб-задания" службы приложений Azure с пакетом SDK для веб-заданий является службой интеграции на основе модели code-first, предназначенной для разработчиков. Обе службы созданы на основе службы приложений Azure и поддерживают следующие возможности: интеграция системы управления версиями, проверка подлинности и мониторинг с помощью интеграции Application Insights.

Решение "Функции Azure" создано на основе пакета SDK для веб-заданий, поэтому оно использует много тех же триггеров событий и соединений, что и другие службы Azure. Ниже приведены некоторые факторы, которые следует учесть при выборе между решением "Функции Azure" и компонентом "Веб-задания" с пакетом SDK для веб-заданий.

Множитель Функции Компонент "Веб-задания" с пакетом SDK для веб-заданий
Бессерверная модель приложения с автоматическим масштабированием Да Нет
Разработка и тестирование в браузере Да Нет
Оплата по мере использования Да Нет
Интеграция с Logic Apps Да Нет
События триггера Таймер
Очереди и большие двоичные объекты службы хранилища Azure
Очереди и разделы служебной шины Azure
Azure Cosmos DB
Центры событий Azure
HTTP или веб-перехватчик (GitHub,
Slack)
Сетку событий Azure
Таймер
Очереди и большие двоичные объекты службы хранилища Azure
Очереди и разделы служебной шины Azure
Azure Cosmos DB
Центры событий Azure
Файловая система

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