слов.арь · bisovka

объясни serverless --простыми-словами

Иллюстрация к термину «Serverless»

Serverless

КороткоАренда вычислений на момент, без сервера, за которым надо присматривать.

Название врет в открытую. Сервер там абсолютно точно есть. Иначе никак. Твой код должен выполняться где-то.

"Serverless" значит вот что: это не твой сервер, и это не твоя проблема.

Представь свет в коридоре мотеля и свет с датчиком движения в паркинге. Свет в коридоре горит всю ночь, идет там кто-то или нет, и кто-то платит за каждый из этих часов. Свет в паркинге не горит и ничего не стоит, пока ты не войдешь. Потом он мгновенно включается, делает свою работу и выключается, как только ты ушел. Ты платишь за шаги, а не за здание.

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

Старый способ, чтобы почувствовать разницу. Ты арендуешь сервер (тот самый всегда включенный компьютер на складе), и теперь он твой. Звучит приятно, пока не понимаешь, что значит "твой":

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

При serverless-подходе ты не арендуешь здание. Ты отдаешь провайдеру (компании вроде Vercel, Cloudflare или AWS) маленький кусок кода: одну функцию, которая делает одну задачу. Например:

И уходишь. Когда кто-то реально запускает эту задачу, происходит вот что:

  1. Приходит запрос. "Кто-то только что оплатил заказ. Отправь чек."
  2. Провайдер берет машину из огромного общего пула, который он держит теплым для всех.
  3. Твоя функция запускается на ней, отправляет чек и завершает работу.
  4. Машина возвращается в пул для следующего, кому она понадобится.

Ты не выбирал машину. Не давал ей имя. Никогда не узнаешь, какая именно это была. И счетчик крутился только те полсекунды, пока твой код реально работал.

Почему это важно для человека, который не пишет код? Две причины: деньги и спокойствие.

Есть один честный подвох, который стоит знать: cold start, холодный старт. Помнишь свет в паркинге, который включается в момент, когда ты вошел? Это почти так же быстро, но не совсем. Если твоя функция давно не запускалась, провайдеру сначала нужно взять машину и разбудить ее, а это добавляет маленькую паузу к первому запросу. Если функция работает постоянно, все остается теплым и быстрым. Если она долго простаивала, следующий посетитель подождет чуть дольше. Обычно никто не замечает. А там, где важна каждая миллисекунда, люди немного доплачивают, чтобы свет всегда был включен.

Вот и вся идея. Ты больше не арендодатель, который всю ночь освещает пустое здание. Свет выключен, пока кто-то не вошел, и ты платишь только за шаги.

← все термины