Найти в Дзене
Yandex.Cloud

Разработка serverless: экономим деньги и время

Оглавление

Что такое технология serverless? Расскажем, как с её помощью можно экономить бюджет и планировать время разработчиков.

Когда e-commerce только зарождался, вариантов для создания интернет-продуктов было немного. Точнее один: нужно было запускать сайт на собственном сервере. Определить заранее, сколько ресурсов потребуется, было возможно не всегда. Из-за этого компании переплачивали, да еще и содержали штат программистов, чтобы сайт работал исправно.

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

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

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

Возможно ли это? Да. С помощью технологии бессерверных вычислений.

Что такое serverless

Работая на этой технологии, вы не привязаны к конкретному серверу. Достаточно загрузить код функции – он сохраняется в виде пакета на серверах провайдера. Пользователь посылает запрос к приложению, провайдер создает для него контейнер, выполняет запрос, а после – его уничтожает.

Масштабирование происходит автоматически. Если нагрузка внезапно увеличится – появятся новые контейнеры, которые их обработают.

Можно не думать о сервере: не придется заниматься его настройкой, обновлениями, даже не нужно выбирать объем хранилища. Все процессы полностью на стороне провайдера. А программисты могут сфокусироваться на бизнес-ценности продукта.

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

Увеличиваем скорость – снижаем стоимость

Serverless – технологии ускоряют разработку. Программисты могут быстро развернуть типы back-end функций и сконцентрироваться на интерфейсе. Это поможет снизить затраты – ведь стоимость разработки напрямую зависит от потраченного времени.

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

Переход на serverless – отличная возможность повысить бизнес-ценность продукта. У разработчиков появляется время, чтобы развивать приложение и улучшать пользовательский опыт.

Не нужно нанимать целый штат backend-программистов. Чтобы создавать масштабируемые приложения – достаточно иметь одного разработчика, который владеет основами DevOps. Этот метод разработки позволяет быстро создавать и обновлять ПО. С его помощью запускаются функции на бессерверной модели.

Сценарии использования

Давайте посмотрим, когда использование serverless особенно актуально:

Сезонная или проектная нагрузка

Модель serverless – отличный вариант, если спрос на ваш товар или услуги подвержен сезонности или определенным событиям. Бессерверная инфраструктура выдержит нагрузки перед Новым годом и в «Черную Пятницу» – покупатели всегда смогут попасть к вам на сайт и в приложение.

Для примера возьмем кейс Auto.ru – сервис обратился в Yandex.Cloud для запуска проекта «Большой экзамен ПДД». Это онлайн-тест для пешеходов и водителей. Нагрузка ожидалась высокая.

Проект решили запускать на бессерверной инфраструктуре – с помощью сервиса Yandex Cloud Functions.

Разработчиков было двое. Они сосредоточились на коде: не пришлось думать о поддержке серверов и настройке СУБД. Сервис успешно запустили, и он выдержал пиковые нагрузки – в тестировании участвовало более 100.000 пользователей.

Стартапы и разработка MVP

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

Малый бизнес

Разработка – дорогостоящий процесс для малого бизнеса. Yandex Cloud Functions позволит не экономить на качестве: сконцентрируйтесь на коде, с которым взаимодействует клиент. А serverless возьмет на себя backend – с его настройкой справится один DevOps-инженер.

Если статья оказалась полезной, ставьте 👍