Представьте ситуацию: вы запускаете новый сервис, и до старта остался всего месяц. Технический директор, этот человек с вечным взглядом «я всё знаю», предлагает арендовать серверные мощности.
Он показывает расчёты, где в графиках больше стрелочек и цифр, чем у космического корабля NASA, и говорит: «Берём с запасом! После запуска нагрузка взлетит до небес!» Вы киваете, подписываете договор и каждый месяц платите за серверы, которые работают примерно на десять процентов – остальные девяносто просто отдыхают, как пенсионеры на даче.
Деньги уходят безвозвратно, как будто вы подписались на абонемент в фитнес-клуб и платите за тренажёрный зал, хотя приходите туда раз в полгода — чтобы попить воды из кулера.
Проходит полгода, нагрузка действительно растёт – теперь этих мощностей едва хватает. Приходится снова звонить подрядчику: «Давайте ещё серверов! И побольше!» – а он вам отвечает: «Конечно! Только счёт будет ещё веселее».
Вот тут-то классическая модель аренды серверов напоминает отношения с бывшей: сначала вы платите много за пустоту, потом пытаетесь догнать реальность, а в итоге всё равно остаётесь в минусе.
Но не всё потеряно! На рынке появилась новая звезда — бессерверные вычисления. Не пугайтесь названия — серверы никуда не делись!
Они по-прежнему где-то там в дата-центрах гудят вентиляторы и мерцают лампочки. Просто теперь эти серверы обслуживает облачный провайдер — ваш технический директор может наконец расслабиться и заняться чем-нибудь более интересным (например, игрой в шахматы с самим собой).
Главное отличие бессерверной модели заключается в том, как вы платите. В классике вы платите за то, что сервер работает 24/7 – даже если ваши пользователи заходят только ночью посмотреть котиков.
А здесь — плата взимается только когда ваш код реально выполняется. Нет запросов – нет оплаты; пришёл запрос – код запустился за доли секунды – оплатили ровно это время; задача выполнена – код остановился – счётчик выключился. Представьте себе такси: классическая модель — это как платить водителю целый день стоять рядом с вами без дела; бессерверная — платить только за поездку от дома до работы.
Для стартапа это просто находка! Особенно когда сложно предсказать количество пользователей: сегодня вас видит пять человек (три из которых ваши родители), а завтра уже сотни тысяч фанатов вашего сервиса.
Но будьте осторожны: неправильное использование бессерверных вычислений может превратить экономию в дорогущий фейерверк расходов. Как однажды мой знакомый решил перевести свой блог на бессерверную платформу и при запуске получил счёт настолько великий, что пришлось продавать кошку (которая кстати оказалась вполне довольна новым статусом инвестора).
И ещё один забавный момент: многие думают, что слово «бессерверный» значит отсутствие физической инфраструктуры вообще — мол, программное обеспечение живёт где-то в облаках волшебства и не требует ни электричества, ни охлаждения. Но нет! Серверы живут своей жизнью в огромных дата-центрах с кондиционерами мощнее холодильников вашего супермаркета и инженерами в белых халатах вместо супергероев.
В традиционной модели вы получаете виртуальный сервер — это как квартира на несколько семей с гарантированным квадратным метром для каждого жильца.
Вы сами отвечаете за ремонт (обновления операционной системы), уборку (резервное копирование) и безопасность (патчи). И самое главное — платите фиксированную сумму вне зависимости от того, насколько активно пользуетесь квартирой или оставляете её пустой.