Перейти к содержанию
+420 774 147 594
TelegramWhatsApp

Словарь

Serverless

Serverless -- облачная модель выполнения, при которой код запускается в безсостоятельных функциях, полностью управляемых облачным провайдером. Вопреки названию, серверы никуда не деваются -- разработчики просто не занимаются их настройкой и обслуживанием. Провайдер автоматически управляет инфраструктурой, масштабированием и доступностью, выставляя счёт только за фактически использованное вычислительное время.

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

AWS Lambda -- наиболее широко используемая serverless-платформа, наряду с Google Cloud Functions, Azure Functions и Cloudflare Workers. Фреймворки Serverless Framework и AWS SAM упрощают деплой и локальную разработку. Сервисы вроде Vercel и Netlify сделали serverless-функции доступными для фронтенд-разработчиков без глубоких знаний облачной инфраструктуры.

Компромиссы реальны и стоит понять их до принятия решения. Холодные старты -- штраф по задержке, когда контейнер функции инициализируется с нуля -- могут добавить сотни миллисекунд, хотя на крупных платформах ситуация значительно улучшилась. Отладка распределённых архитектур на функциях сложнее, чем отладка одного сервиса. Управление состоянием становится явной задачей, поскольку функции безсостоятельны по определению. Serverless органично подходит для событийно-ориентированных нагрузок, фоновой обработки и API с переменным трафиком, но неудобен для долгоживущих процессов или приложений с интенсивным межсервисным взаимодействием.