Бессерверные решения и стартапы: почему им так хорошо вместе

Как serverless-подход помогает решать проблемы ИТ-стартапов.

Бессерверные решения и стартапы: почему им так хорошо вместе

При запуске продукта стартапы сталкиваются с тремя ограничениями: дефицитом бюджета, времени и компетенций сотрудников. Как эти проблемы решает бессерверный подход и какие результаты он приносит на практике — рассказывает Иван Веткасов, архитектор решений в сегменте ключевых клиентов Yandex Cloud.

Иван Веткасов
Архитектор решений в сегменте ключевых клиентов Yandex Cloud

В этой статье расскажем:

В чём сложности при запуске продукта

Почти на всех этапах запуска продукта, начиная с MVP, компании нужны инфраструктурные ресурсы. Это вычислительные системы и хранилища, инструменты разработки и автоматизации CI/CD-процесса, платформенное программное обеспечение: базы данных, серверы приложений, брокеры сообщений. А ещё системы логирования и мониторинга, управления доступами и безопасностью, дополнительные технологии, например для ML-разработки.

Бессерверные решения и стартапы: почему им так хорошо вместе

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

  • дефицитом денег,
  • нехваткой времени,
  • недостаточным уровнем компетенций сотрудников.

Использование бессерверной архитектуры в части случаев решает эти проблемы.

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

Как serverless-технологии помогают стартапам преодолевать ограничения

Обеспечивают технологические преимущества

Комплексные serverless-решения, как правило, предлагают инструменты на базе low-code-подхода. Это снижает порог входа в технологию и требования к квалификации разработчиков.

Также бессерверные решения поддерживают интеграцию с внутренними сервисами провайдера и некоторыми внешними системами. Это реализуется с помощью:

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

Большинство технических задач — от масштабирования и обеспечения отказоустойчивости до интеграции и мониторинга — решает облачный провайдер. То есть применяется low-ops-подход. При этом масштабируемость и отказоустойчивость обеспечиваются cloud-native: они реализованы именно так, как эффективно для облачной платформы.

Такая технологическая оснащённость снижает нагрузку на IT-специалистов и решает проблему с дефицитом компетенций.

Дают финансовую выгоду

В serverless-модели оплата рассчитывается по фактическому потреблению (pay as you go) — например, за каждый вызов функции или выполненный запрос. В отличие от классической модели, где оплачивается всё время работы сервиса, здесь пользователь платит только за потраченные ресурсы.

При этом во многих бессерверных инструментах предусмотрен free tier — порог потребления, в пределах которого ресурсы предоставляются бесплатно. Это особенно удобно для стартапов: пока пользовательская база небольшая, они не платят за инфраструктуру. Когда нагрузка вырастает и проект выходит за пределы бесплатной зоны, это часто означает, что продукт стал востребованным, начал приносить прибыль — и готов платить за масштабирование.

<i>Serverless-подход позволяет минимизировать операционные задачи, снизить порог входа в разработку и платить только за реально используемые ресурсы </i>
Serverless-подход позволяет минимизировать операционные задачи, снизить порог входа в разработку и платить только за реально используемые ресурсы 

Почему бессерверный подход так популярен

По данным Datadog, более половины компаний, работающих в облаке, используют serverless-решения. Исследования показывают, что такая модель помогает сокращать расходы на инфраструктуру на 30–40%, а время выхода продуктов на рынок — на 23%.

В России также отмечают преимущества подхода — от снижения затрат до ускорения разработки. Вот какие ответы чаще всего давали участники нашего исследования:

<i>Ключевые преимущества бессерверных решений по данным исследования <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fyandex.cloud%2Fru%2Fblog%2Fposts%2F2023%2F12%2Fthe-state-of-serverless&postId=2016283" rel="nofollow noreferrer noopener" target="_blank">The State of Serverless  </a></i>
Ключевые преимущества бессерверных решений по данным исследования The State of Serverless  

Примеры применения serverless-подхода в России

Российские стартапы также применяют бессерверную инфраструктуру. Так, Яндекс Магистрали разработали приложение, в котором перевозчики грузов и сотрудники складов отслеживают этапы работы с товаром.

Serverless-решения помогли сократить время выхода сервиса на рынок с предполагаемых двух месяцев до недели — и это без единого часа работы DevOps.

Команда использовала Yandex Cloud Functions для запуска кода в отказоустойчивом и автоматически масштабируемом окружении без создания виртуальных машин. Для хранения данных применила YDB в бессерверном режиме: сервис масштабируется, не требуя дополнительных затрат. Для мониторинга и логирования выбрала Yandex Monitoring и Yandex Cloud Logging.

<i>Таймлайн проекта </i>
Таймлайн проекта 

Компания Genotek с помощью бессерверных технологий Yandex Cloud разработала сервис по созданию генеалогических деревьев. Для хранения данных команда использовала Yandex Managed Service for MongoDB, для хранения истории изменений — Yandex Managed Service for ClickHouse®. С помощью Yandex Cloud Functions система получает нужные данные из базы и строит дерево для каждого пользователя.

За счёт облачных функций проект смогли реализовать биоинформатики — специалисты без знаний в проектировании сложной инфраструктуры.

<i> Пример генеалогического дерева. Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.genotek.ru%2Fdemo%2Fgenealogical-tree&postId=2016283" rel="nofollow noreferrer noopener" target="_blank">Genotek</a> </i>
 Пример генеалогического дерева. Источник: Genotek 

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

Другие истории успешных внедрений можно найти на нашем сайте, а подробности о каждом serverless-сервисе — в документации.

Что нужно учесть при выборе serverless-модели

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

  1. Оценить, оптимальна ли технология для архитектуры проекта. Бессерверные технологии особенно эффективны в приложениях с событийно-ориентированной логикой, микросервисной архитектурой и неравномерной нагрузкой. Если ваш проект — монолит с постоянным, предсказуемым трафиком или требует фоновых процессов, serverless может не подойти или потребовать серьёзной адаптации.
  2. Быть готовым к новым подходам в разработке. Serverless-модель подразумевает иной взгляд на архитектуру и написание кода. Разработчики работают с облачными функциями, триггерами и управлением событиями. Это другой подход к архитектуре приложений — на базе событийной логики. Без готовности встраивать новые подходы к разработке внедрение может стать затруднительным.

  3. Рассчитать модель нагрузки. Оплата по модели pay as you go выгодна, когда запросы к сервису неравномерны или непродолжительны. Для крупных компаний с высокой и стабильной нагрузкой бессерверные решения могут оказаться дороже традиционных.
  4. Учесть ограничения и зависимости. Serverless-сервисы часто работают в рамках экосистемы провайдера. Это удобно на старте, но в долгосрочной перспективе важно понимать возможные зависимости от платформы и ограничения по кастомизации. Если опасаетесь привязки к одному поставщику сервисов, можно реализовать функции по открытым стандартам, например, с возможностью запуска в контейнере.
  5. Обеспечить грамотный вход в технологию. Хотя Serverless часто позиционируется как low-code и low-ops, это не исключает потребности в глубокой экспертизе на уровне архитекторов. Простота начинается с правильного проектирования. Чтобы реализовать преимущества подхода, стартапам стоит консультироваться со специалистами, проходить обучение и тщательно подбирать сценарии применения.

Как начать работу с Serverless

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

  1. Рассмотреть доступные решения — сравнить serverless-сервисы у провайдеров.
  2. Обсудить задачу со специалистом — проконсультироваться с архитектором, чтобы подобрать подходящее решение.
  3. Пройти базовое обучение — например, в курсе «Инженер облачных сервисов», где мы подробно рассказываем о бессерверных вычислениях в модуле «Разработка приложений в облаке».

В Yandex Cloud много сервисов, которыми можно пользоваться по бессерверной модели. Среди них Yandex Cloud Functions для запуска кода в виде функции, YDB в serverless-режиме для управления базами данных, Yandex Data Streams для управления потоками данных в реальном времени. На использование бессерверных решений и других облачных сервисов можно получить грант до 1 млн рублей в рамках программы Yandex Cloud Boost.

Хотите узнать больше о возможностях облачных технологий для бизнеса? Подписывайтесь на телеграм-канал Yandex Cloud и будьте в курсе трендов.

Другие статьи, которые могут быть интересны стартапам:

1
1
Начать дискуссию