Для множества задач полезно использовать Serverless подход.
В этой статье мы кратко рассмотрим основные решения, их достоинства, и главное, недостатки. А также рассмотрим несколько интересных Open Source решений.
Российские Serverless решения
Главным преимуществом Российских решений является возможность их оплаты без наличия иностранных карт.
Yandex Cloud Functions — оригинальный сервис от Яндекс Облака.
Поддерживаются: Node.js, PHP, Python, Go, Bash, Java, C# и R.
Как и большинство Serverless решений, продукт не прост в освоении и требует некоторой компетенции.
Дополнительный аспект — это цена, которая в пересчете на выделенный ресурс примерно в 30 раз выше, чем тот же ресурс на выделенных машинах.
Cloud functions предназначено именно для коротких нагрузок, так как имеет жесткие лимиты на время выполнения.
При этом сервис обладает малым временем холодного старта и позволяет быстро масштабировать вычислительную мощность,
Максимальное время выполнения функции до таймаута, включая начальную инициализацию при первом запуске |
1 час |
Максимальный объем RAM для одного экземпляра функции |
8 ГБ |
Тарифицируется ОЗУ (1 Гб за месяц работы стоит около 4000 р.) и количество миллионов вызовов (16 р. за миллион вызовов).
Advanced FunctionGraph от облака Сбера
Не самое распространенное решение, при этом по функционалу похожее на Lambda от AWS, но ближе к Alibaba Cloud Function Compute (как и облако в целом).
Стоимость зависит от объема памяти, времени вычислений (с точностью до секунды) и количества запросов.

Международные решения
Lambda от AWS — самое первое и известное решение на рынке, которое AWS представил в 2014.
Azure Functions от Microsoft Azure
Functions от Digital Ocean
Услуга |
AWS Лямбда |
Функции Google Cloud |
Функции Azure |
Функции Digital Ocean |
Максимальная продолжительность выполнения |
900 сек. или 15 мин |
540 сек. или 9 мин |
600 сек. или 10 мин |
15 минут |
Макс. Память |
10ГБ |
8ГБ |
3,5 ГБ |
1 Гб |
Максимальное количество одновременных выполнений |
1000 |
1000 |
Зависит от плана |
120 функций в неймспейсе, максимум 10 неймспейсов |
Примечание: максимальное количество одновременных выполнений в AWS Lambda и Google Cloud Functions — это ограничения по умолчанию, которые можно увеличить, обратившись в службу поддержки.
Поддержка языков
Язык |
AWS Лямбда |
Функции Google Cloud |
Функции Azure |
Digital Ocean |
С# |
Да |
Да |
Да |
Нет |
Java |
Да |
Да |
Да |
Нет |
Python |
Да |
Да |
Да |
Да |
Go |
Да |
Да |
Да |
Да |
Node.js |
Да |
Да |
Да |
Да |
Ruby |
Да |
Нет |
Нет |
Нет |
PHP |
Да |
Нет |
Да |
Да |
PowerShell |
Да |
Нет |
Да |
Нет |
Пользовательская среда выполнения |
Да |
Да |
Да |
Нет |
Масштабирование
Возможность масштабирования |
AWS Лямбда |
Функции Google Cloud |
Функции Azure |
Функции Digital Ocean |
Тип масштабирования |
Автоматический |
Автоматический |
Автоматический |
Автоматический |
Предел масштабирования |
Нет ограничений, можно запросить увеличение лимита |
Облачные функции второго поколения имеют ограничение по умолчанию в 100 как для HTTP-функций, так и для событийно-управляемых функций. Облачные функции 1-го поколения имеют ограничение по умолчанию в 3000 для событийно-управляемых функций, но для облачных функций HTTP 1-го поколения ограничение по умолчанию отсутствует. |
До 200 экземпляров на функцию в регионе |
120 на неймспейс |
Скорость масштабирования |
Миллисекунды |
Секунды |
Секунды |
Нет данных |
Масштабирование детализации |
По функции или по счету |
По функциям |
По функциям |
Нет данных |
Политика масштабирования |
Запрос в секунду |
Запрос в секунду |
Запрос на экземпляр |
Нет данных |
Теплый старт |
Поддерживается |
Поддерживается |
Поддерживается |
Нет данных |
Ценообразование
Модель ценообразования |
AWS Лямбда |
Функции Google Cloud |
Функции Azure |
Digital Ocean |
Цена за запрос |
Бесплатно за первый миллион запросов, затем 0,20 долл. США за 1 миллион запросов |
Первые 2 млн. запросов в месяц бесплатны, затем 0,40 долл. США за 1 млн запросов |
Первый 1 млн. запросов в месяц бесплатно, далее 0,20 долл. США за 1 млн запросов |
Бесплатно первые 90000 Гб-сек. Далее - 0,0000185 Гб-сек |
Цена за ГБ-секунду |
0,00001667 долл. США за ГБ-секунду |
0,0000025 долл. США за ГБ-секунду |
0,000016 долл. США за ГБ-секунду |
0,0000185 Гб-секунду |
Бесплатный уровень |
1 млн. бесплатных запросов в месяц и 400 000 ГБ-секунд вычислительного времени в месяц |
2 млн. бесплатных запросов в месяц и 400 000 ГБ-секунд вычислительного времени в месяц |
1 млн. бесплатных запросов в месяц и 400 000 ГБ-секунд вычислительного времени в месяц |
Бесплатно первые 90000 Гб-сек. |
Open Source Serverless решения
Основное преимущество Open Source в бесплатности и независимости от вендора. Но именно для Serverless-модели это спорные моменты, так как Serverless часто подразумевает именно желание снизить расходы на редко выполняемых задачах, потребляя ресурс строго при использовании и «бесконечно» масштабируясь при необходимости, что теряет смысл при использовании собственных фиксированных ресурсов. Но для ряда задач, особенно выполняемых на основе событий или по расписанию, есть место и в рамках внутренней экосистемы предприятий.
OpenFaaS — один из первых и активно развивающихся проектов. Имеет опцию развертывания в Kubernetes-кластере.

Количество звезд на GitHub — 25 000
Knative — решение с фокусом на запуске в Kubernete, которое принято CNCF. Одно из активно развивающихся решений с обширным комьюнити.


Количество звезд на GitHub — 5700
Fission — поддерживается одним не самым известным облачным провайдером, при этом сам проект жив и регулярно обновляется.
Производительность: 100 мс холодного старта.
Fission поддерживает пул «теплых» контейнеров, каждый из которых содержит небольшой динамический загрузчик. Когда функция вызывается впервые, т. е. "холодно стартует", выбирается работающий контейнер и загружается функция. Этот пул делает Fission быстрым: задержки холодного старта обычно составляют около 100 мс.
Количество звезд на GitHub — 8500
-
Nuclio — проект позиционирует себя как решение, специализирующееся на областях связанных с обработкой и анализом данных.
Количество звезд на GitHub — 5400
Визуализация из документации решения
Я рассмотрел основных коммерческих провайдеров и Open Source решения. Бессерверные вычисления могут быть полезны, но если у вас относительно стабильная или долгая нагрузка, намного дешевле, предсказуемо по цене и проще использовать виртуальные машины или контейнеры. Но все зависит от задачи.
Комментарии (5)
slavcopost
20.02.2025 13:05Просто хочется напомнить Serviceless !== Functions (lambda). Например в статью можно добавить еще 100500+ вариантов для serverless: AWS ECS, AWS EKS, Google GKE, Google Cloud Run, Azure Container Instances, Azure AKS, Red Hat OpenShift. Ухх много всего.
ovchinnikovproger Автор
20.02.2025 13:05Red Hat OpenShift, AWS EKS, Google GKE это больше про Kubernetes. Остальное, скорее это контейнерные среды, но да, можно назвать их Serverless с определенным допущением
slavcopost
20.02.2025 13:05Никаких допущений.
Serverless — это модель облачных вычислений, при которой разработчики могут запускать код без необходимости управлять серверами.
Контейнерные среды, приложения запущенные в контейнерах - это serverless, включая Kubernetes, который является лишь решением для облегчения управления этими контейнерами.
А статьи о Serverless, которые говорят только об одном типе serverless, вводят в заблуждение новичков, которые на этих статья обучаются.
pennanth
Люблю "одновременные казни"! Что это было в оригинале? Simultaneous executions?
ovchinnikovproger Автор
Спасибо за внимательность. Поправил. Некоторые таблицы брал из англоязычных источников и просмотрел ошибку перевода. Еще раз благодарю