ДокументацияНачалоСервисы и их типы

Сервисы и их типы

В Muerte Cloud код разворачивается в виде одного или нескольких сервисов. Здесь разбираем, что такое сервис и как выбрать правильный тип под вашу задачу.

Сервис — это единица кода, которую Muerte Cloud собирает, запускает и отслеживает. Это может быть API-сервер, статический фронтенд, внутренний воркер или задача по расписанию — модель деплоя у всех одинаковая.

Каждый сервис работает на одном или нескольких инстансах — контейнерных средах в инфраструктуре Muerte Cloud. Тип инстанса определяет объём CPU и RAM, а количество инстансов — степень параллелизма.

Типы сервисов#

При создании сервиса первым делом выбирается его тип. В Muerte Cloud шесть типов для запуска кода и три управляемых типа для хранения данных — девять всего.

Web-сервис
Динамические приложения по публичному HTTPS-адресу. Чаще всего первый сервис именно такой.
Статический сайт
Готовые HTML/CSS/JS с глобального edge и управляемым TLS.
Приватный сервис
Динамические приложения без публичного адреса, доступные только другим сервисам проекта.
Фоновый воркер
Постоянные процессы, которые берут задачи из очереди и не открывают порты.
Workflow
Многошаговые задачи, объединяющие цепочку операций, с повторами и статусом на каждом шаге.
Cron-задача
Команды или скрипты, которые запускаются по расписанию и завершаются.

Какой тип подойдёт моему коду?

Ответьте на четыре вопроса по порядку. Первое «да» и есть ответ:

  1. Код отдаёт только готовые статические файлы? Берите статический сайт.
  2. Принимает трафик из публичного интернета? Берите web-сервис.
  3. Принимает трафик, но только от других сервисов того же проекта? Берите приватный сервис.
  4. Работает по расписанию и завершается? Берите cron-задачу. Если же процесс работает постоянно и не открывает порт — фоновый воркер.
Совет
Тип сервиса задаётся при создании и не меняется позже. Если нужен другой тип, создайте новый сервис — переменные окружения и секреты можно скопировать из панели.

Сводка по типам#

ТипПубличный URLПриватный хостРаботаТипичное применение
Web-сервисДаДаПостоянноAPI-серверы, SSR-фронтенды, Rails / Django
Статический сайтДа (edge)Только при сборкеReact, Vue, Astro, Hugo, документация
Приватный сервисНетДаПостоянноВнутренние API, поиск, self-hosted инфраструктура
Фоновый воркерНетНетПостоянноОбработчики очередей, Sidekiq / Celery
WorkflowНетНетПо триггеру, затем выходМногошаговые пайплайны, цепочки задач
Cron-задачаНетНетПо расписанию, затем выходНочные отчёты, скрипты очистки, ETL

Управляемые хранилища#

Помимо сервисов Muerte Cloud обслуживает три типа полностью управляемых хранилищ. Все они разворачиваются внутри приватной сети проекта и доступны другим сервисам без настройки.

Managed Postgres
Реляционная СУБД с автоматическими ежедневными бэкапами, восстановлением на момент времени на платных тарифах и репликами чтения в один клик.
Managed Key-Value
Хранилище ключ-значение в памяти, совместимое с клиентами протокола Redis. Подходит как очередь или общий кэш.
Managed MongoDB
Документная база данных для JSON-подобных данных, с автоматическими ежедневными бэкапами.

Для нагрузок, которым не подходят управляемые варианты, web-сервисы, приватные сервисы и фоновые воркеры могут подключить постоянный диск и поднять своё хранилище. Cron-задачи и статические сайты диски не поддерживают.

Что получает каждый тип сервиса#

Деплой из Git
Пуш в отслеживаемую ветку — и новый релиз выкатывается автоматически.
Приватная сеть
Бесплатная шифрованная сеть между сервисами одного проекта.
Переменные и секреты
Управляемое хранилище секретов, подставляемое в рантайме и не попадающее в образ.
Логи и метрики
Потоковые логи и метрики CPU / памяти / сети у каждого сервиса.
Мгновенные откаты
Откат к прошлой успешной сборке в один клик.
Preview-окружения В разработке
Песочница на каждый PR — в разработке.