hostprofi.ru
Подобрать хостинг
Термин·буква F

FaaS

краткое определение

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

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

Как работает

FaaS-платформа (AWS Lambda, Яндекс Cloud Functions, Cloudflare Workers) получает событие-триггер: HTTP-запрос, сообщение в очереди, изменение в S3-бакете, Cron-расписание. Платформа запускает контейнер с функцией (Cold Start: 50–500 мс) или использует тёплый экземпляр (Warm Start: 1–10 мс), выполняет функцию и завершает её. При всплеске нагрузки запускаются тысячи параллельных экземпляров автоматически.

Функция — stateless: не хранит состояние между вызовами. Постоянные данные хранятся во внешних сервисах: Redis, S3, DynamoDB. Timeout функции ограничен: AWS Lambda — максимум 15 минут; Cloudflare Workers — 30 мс (CPU-time) или 30 секунд.

Биллинг: оплата за число вызовов (обычно первый миллион бесплатен) + GB-секунды (память × время выполнения). Для редких задач FaaS дешевле VPS в тысячи раз.

История

AWS Lambda — первая крупная FaaS-платформа, представлена в ноябре 2014 года на AWS re:Invent. Концепция serverless существовала до этого (Google App Engine, 2008), но Lambda стандартизировала модель. В 2016 году появились Azure Functions и Google Cloud Functions. В 2017 году Cloudflare Workers внесли FaaS в edge-вычисления. Термин «serverless» предложен Кеном Фримэном (Ken Freeman) в 2012 году, хотя серверы существуют — они просто скрыты от разработчика.

FaaS: холодный старт и оптимизация

Холодный старт (cold start) — задержка при первом вызове функции после периода простоя: облако должно создать контейнер, загрузить runtime и код. AWS Lambda: cold start 100-3000 мс в зависимости от runtime (Go/Rust — быстрее, Java — медленнее из-за JVM). Оптимизация: Provisioned Concurrency (AWS) — держать N экземпляров в «тёплом» состоянии за дополнительную плату, минимизировать размер deployment package, избегать heavy dependencies.

FaaS-платформы в 2024: AWS Lambda (маркет-лидер), Azure Functions, Google Cloud Functions, Yandex Cloud Functions (российская). Self-hosted: Knative (на Kubernetes), OpenFaaS (Docker/K8s). Для event-driven архитектур FaaS снижает стоимость в сравнении с постоянным VPS: платить только за реальные вызовы.

На что обращать внимание

Cold Start — главная проблема FaaS для latency-sensitive приложений. У Java/JVM холодный старт 500–2000 мс. Go и Node.js — 50–200 мс. Cloudflare Workers используют V8 isolates вместо контейнеров — cold start под 5 мс. Vendor lock-in: функции AWS Lambda с трудом переносятся на Azure Functions без переписывания. OpenFaaS, Knative — open-source FaaS-платформы для развёртывания на собственном Kubernetes.

FaaS на практике

FaaS подходит для задач: обработка изображений при загрузке, webhook-обработчики, ETL-задачи по расписанию, API-endpoints с нерегулярной нагрузкой. Ограничения: максимальное время выполнения (15 мин у AWS Lambda), холодный старт (50-500 мс при первом вызове), нет постоянного файлового хранилища (используйте S3). Self-hosted альтернативы FaaS на VPS: OpenFaaS через Docker, Knative (поверх Kubernetes), Fission. Кэш для функций: Redis как внешнее хранилище состояния — FaaS-функции stateless по природе. AWS Lambda — самый популярный FaaS-сервис.

Другие термины