Монолит

Монолит — архитектура, в которой всё приложение развёртывается как единое целое: один процесс, одна база данных, единый деплой.

Характеристики

Единая codebase. Один runtime, один процесс. Общая БД. Внутренние вызовы функций вместо сетевых. Единый деплой (весь монолит целиком). Проще старт: не нужен Kubernetes, service mesh, distributed tracing.

Плюсы для стартапа

Быстрая разработка на старте. Простой debug (стек-трейс в одном процессе). Транзакционная целостность (одна БД). Меньше infrastructure overhead. Дешевле в hosting. Подходит для команд до 20 человек и <100K DAU.

Минусы при росте

Coupling: изменения в одном модуле требуют регресс всей системы. Долгий деплой (30-60 мин). Единая точка отказа. Нельзя масштабировать компоненты независимо. Технологический замок (один язык/фреймворк). Медленное CI/CD.

Modular Monolith

Компромисс: монолит с чёткими модулями, разделёнными API-контрактами внутри. Готовность к декомпозиции в микросервисы при необходимости. Многие успешные iGaming-операторы начинали как модульный монолит и мигрировали в микросервисы после нескольких лет роста.