Function-as-a-Service
Что такое Function-as-a-Service
Function-as-a-Service, также известный как FaaS, – это подход в области облачных вычислений, позволяющий исполнять код без сложной инфраструктуры, которая присуща микросервисной архитектуре.
Хранение и выполнение кода, как правило, требует создания и управления инфраструктурой, далее в скобках (физический или виртуальный сервер/а), ОС, компоненты, сервисы и так далее)
FaaS – частный случай serverless (бессерверной) архитектуры. Бессерверная архитектура не подразумевает физического отсутствия серверов, но подразумевает, что их настройкой, управлением и поддержкой занимается третья сторона, а не конечный пользователь.
Реагируя на различные события или триггеры, часть кода, реализованного посредством FaaS, выполняется автоматически, вне зависимости от других частей кода. Клиент оплачивает только время, за которое выполняется программа (посекундно).
Функция – минимальная выполняемая единица, как правило, время ее выполнения ограничено поставщиком услуги для максимальной эффективности. Это – следующая ступень «детализации» после микросервисов.







Преимущества FaaS

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

Разработка без привязки к окружению (stateless), а еще вы можете писать каждую функцию на любом языке, подходящем под задачу

FaaS взаимодействует с другими PaaS сервисами: запуская код через FaaS, вы можете работать с DBaaS или K8aaS, т.е без собственной инфраструктуры вы получаете полноценно работающее в облаке приложение

Динамическое масштабирование
Провайдер делает вашу функцию доступной по API и управляет распределением ресурсов. Функции привязаны к событиям, не к ресурсам, они легко масштабируются: это является основной характеристикой FaaS

Вы платите только за то время, в которое приложение работает (пользуется вычислительными мощностями)

Короткий жизненный цикл
Он означает большую стабильность, меньшие затраты, более быстрое время запуска. Особенно помогает «холодному запуску»
FaaS нужен тем компаниям, у кого
Тем, кто хочет протестировать ресурсоёмкий код, но не хочет/не может разворачивать инфраструктуру для этого
Тем, у кого непостоянные нагрузки и нужна максимально подробная вилка масштабирования
Тем, кто хочет ускорить разработку в условиях ограниченных человеческих ресурсов
Тем, у кого большое количество отложенных или фоновых задач
Managed Kubernetes
Автоматизация управления кластерами Kubernetes
Как работает услуга
Анализ потребностей бизнеса
Подписание NDA
Загрузка кода
Сфокусируйтесь на продукте, а не на ресурсах для масштабирования