Function as a Service (FaaS) — определение и использование | Глоссарий FREEHOSTING

Function as a Service

FaaS
Function as a Service — Function as a Service (FaaS) — облачная модель, предоставляющая выполнение отдельных функций без управления серверной инфраструктурой, что упрощает разработку и масштабирование приложений.

Определение простыми словами

Function as a Service (FaaS) — это технология в облачных вычислениях, позволяющая запускать отдельные функции или куски кода по запросу без необходимости управлять серверами, операционными системами или инфраструктурой. Пользователь загружает код функции, а облачный провайдер автоматически отвечает за выполнение, масштабирование и обслуживание среды, в которой работает эта функция.

Такая модель облегчает разработку приложений, позволяя сосредоточиться на бизнес-логике и снижая затраты на обслуживание инфраструктуры. FaaS входит в концепцию serverless (бессерверных вычислений), где вычислительные ресурсы выделяются динамически и взимаются по факту использования.

Сравнение

Модель Уровень управления Масштабирование Оплата Пример сценария
FaaS Код функции Автоматическое По вызову функции Обработка событий, вебхуков
Serverless (broad) Приложение или сервис Автоматическое По потреблению ресурсов Веб-приложения, микросервисы
VPS/VDS Виртуальная машина Ручное Фиксированная Хостинг сайтов, БД
Dedicated server Физический сервер Ручное Фиксированная Высоконагруженные проекты

Кейсы использования

  • Обработка HTTP-запросов и вебхуков без развертывания сервера.
  • Выполнение фоновых задач и триггеров, например, обработка загрузки файлов.
  • Масштабируемая обработка данных в событиях IoT-устройств.
  • Реализация микросервисной архитектуры.
  • Создание автоматизированных процессов — к примеру, парсинг и анализ данных.

Негативный пример: Использование FaaS для долгосрочных задач с тяжелыми вычислениями и постоянным состоянием плохо подходит из-за ограничений времени выполнения и отсутствия сохранения сессий.

Технические детали

FaaS-платформы обычно предоставляют API или SDK для загрузки и вызова функций. Функции запускаются в изолированной среде (контейнеры или микросервисные песочницы) на время обработки. Код должен быть написан так, чтобы быстро стартовать и завершать выполнение, так как время жизни процесса ограничено. Обычно поддерживаются популярные языки программирования и привязка к событиям, таким как HTTP-запросы, изменения в базе, сообщения в очередях и т.д.

# Пример вызова функции через CLI облачного провайдера
cloud-cli invoke-function --name myFunction --payload '{"key": "value"}'

Подробнее о концепциях вычислительной виртуализации и серверлес-инфраструктуре см. в разделе serverless и microservices.

Частые вопросы

Что такое Function as a Service?

Это облачная модель, позволяющая запускать отдельные функции без необходимости управлять серверами.

В чём отличие FaaS от обычных виртуальных серверов?

FaaS автоматизирует масштабирование и управление инфраструктурой, оплата происходит только за фактическое время выполнения функций.

Для каких задач подходит FaaS?

Для обработки событий, HTTP-запросов, фоновых задач и микросервисов с непостоянным состоянием.