Что такое serverless?
Serverless — модель запуска кода, при которой разработчик загружает функцию, а облачный провайдер сам выделяет ресурсы под каждый её вызов. Серверы, разумеется, существуют — просто ими не нужно управлять, и оплата идёт за фактические вызовы.
Такой подход хорошо подходит для нерегулярных задач: обработка загруженного файла, реакция на вебхук, ночной отчёт по расписанию, редко используемый API. Когда обращений нет, вы не платите ничего, а при всплеске нагрузки масштабирование происходит автоматически.
Ограничения тоже есть: лимит времени выполнения, «холодный старт» при первом вызове после простоя, отсутствие состояния между запусками и привязка к конкретному облаку. Для постоянно нагруженного сервиса обычный контейнер выходит дешевле и предсказуемее.
Связанные термины
Облачные технологии — аренда вычислительных ресурсов у провайдера вместо покупки собственных серверов. Компания берёт нужные мощности, базы и сервисы по требованию и платит только за фактическое потребление.
AWSAWS (Amazon Web Services) — крупнейшая облачная платформа, предоставляющая сотни сервисов: виртуальные серверы, хранилища, базы данных, сети, инструменты машинного обучения и мониторинга. Ресурсы арендуются по мере необходимости, оплата — за использование.
MicroservicesМикросервисы — архитектурный подход, при котором приложение состоит из нескольких небольших самостоятельных сервисов. Каждый отвечает за свою область — оплату, каталог, уведомления, — разворачивается отдельно и общается с остальными через API.
DevOpsDevOps — подход к разработке, в котором создание программы и её эксплуатация объединены в один процесс: та же команда отвечает и за код, и за то, как он собирается, разворачивается и работает на серверах. Цель — выпускать изменения часто, быстро и безопасно.
APIAPI (Application Programming Interface) — это набор правил, по которым одна программа обращается к другой: какие запросы можно отправить, какие параметры передать и в каком виде придёт ответ. API позволяет использовать чужой сервис, ничего не зная о его внутреннем устройстве.