Что такое бессерверный?

Что такое бессерверное и почему это должно вас волновать?

Бессерверный - это термин, обозначающий конкретный способ запуска программ, не связанный с управлением вашим собственным сервером.

Вы создаетефункция, поместите его где-нибудь на облачном сервере, и все, что у вас есть, - это URL-адрес для вызова.

Когда вы вызываете этот URL, функция выполняется.

Кто-то другой управляет сервером, масштабированием, безопасностью. Не нужно беспокоиться об обновлениях ядра или переходе на следующую версию LTS вашего дистрибутива Linux.

Бессерверная версия очень удобна и с точки зрения модели ценообразования. Традиционно вы можете арендовать VPS (виртуальный частный сервер) ежемесячно и платить за ежемесячную плату независимо от вашего фактического использования.

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

Без серверавы платите за запросывместо того, чтобы платить за сервер. Если вашими услугами никто не пользуется, вы ничего не платите. Если 100000 человек все вместе перейдут на ваш сайт, ваши функции масштабируются, потому что компания, которая управляет функциями для вас, имеет все элементы для обработки трафика и автоматически вкладывает больше ресурсов в ваши функции. Вы платите за использованный ресурс, а не за какой-либо ресурс, который вы можете использовать в будущем.

Когда все сделано правильно, это также помогает разработчикам, работающим над проектами самостоятельно, с умственной точки зрения. Вы не отвечаете за сервер, на котором работает ваше приложение, поэтому вы не на связи247чтобы исправить любую проблему, которая может с ним случиться. Вам не нужно быть системным администратором или экспертом DevOps, чтобы запустить приложение.

Похоже на мир грез, где же подвох?

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

С точки зрения ценообразования это может не иметь смысла для вас, если у вас предсказуемый трафик и вы можете приобрести серверы по более низкой цене, например, зарезервировав экземпляры на AWS.

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

Какие основные игроки на рынке?

AWS Lambda, вероятно, самый известный и используемый, и в настоящее время позволяет создавать бессерверные функции на Java, Go, PowerShell, Node.js, C #, Python и Ruby.

AWS Lambda - это базовый сервис, используемый продуктами, которые призваны упростить бессерверное предложение для разработчиков:

У них есть отличный FAQ поhttps://aws.amazon.com/lambda/faqs/которую рекомендую прочитать.