Pull to refresh

Comments 5

Спасибо за туториал.

Я использую Serverless Containers в своем прод-сервисе, который генерирует картинку на основе архива с данными.

Сам генератор выполняется в группе ВМ и там настроено авто масштабирование при увеличении очереди. И сделано это из-за ограничения с диском в Serverless Container (его там нет, есть только tmpfs на 500 мб).

Все лето я потратил на тесты Serverless YDB, Serverless Containers и Message Queue и пришел к нескольким выводам по этой связке:

  1. В базе могут быть долгие ответы (выше 1 секунды на селект по первичному ключу). В условиях 5 секунд на запрос, можно не успеть. Лучше работает Postgres в виртуалке 20% cpu (см. п. 3 про http веб-сервер). Держать pet-project на этой базе можно смело. Нагрузка меньше 1qps.

  2. В очереди иногда долго отвечает SendMessage. Изначально в очередь писал http-сервис из Serverless Container. Потом перенес http-сервис в постоянную виртуалку с 20% cpu и стало реже долго отвечать SendMessage, но проблема полностью не ушла. Уже общаемся с поддержкой по этому поводу.

  3. http веб-сервер работает хорошо, но иногда бывают то ли проблемы с сетью (она инициализируется медленнее, чем http веб-сервер на Golang), то ли с ресурсами (в логах биллится 5 сек, а первого сообщения в логах из функции main нет). Если вам критично, чтобы запрос отдавался за условные 5-10 сек, то Serverless Container не подойдет. Даже с подготовленным экземпляром (а он по цене примерно так же, как ВМ с 20% cpu). Для фоновых задач по крону или из очереди подходит на отлично.

С нетерпением жду фичу по монтированию s3 бакета в Serverless Container.

Спасибо ребятам, за то, что создали такое. Мощная работа. В РФ аналогов пока не нашел.

Спасибо за обратную связь! Про монтирование бакета - скоро будут апдейты, подключайтесь к трансляции нашего трека на https://scale.yandex.ru/

Насколько это дороже арендуемых VM? Спотовых?

В этом сценарии - несоизмеримо дешевле (почти наверняка бесплатно). А в целом сравнивать можно, если иметь чуть больше данных. Как правило, с serverless сервисами работает подход - если нагрузка плавающая и не очень хорошо прогнозируемая, то их использование часто будет дешевле.

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

Sign up to leave a comment.