Исследование Функций 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 и ценовых категорий. В большинстве случаев они являются оптимальным вариантом.