Микросервисы или монолит: архитектура приложения для бизнеса

08.03.2026

Серверная инфраструктура для монолитной и микросервисной архитектуры

Вы запускаете новый продукт. Команда спорит: «Давайте сразу на микросервисах, как Netflix!» Архитектор настаивает на монолите. PM считает бюджет и хватается за голову. Знакомая ситуация?

За 7 лет enterprise-разработки я видел, как компании тратили 6–12 месяцев и 3–5 млн рублей на микросервисную архитектуру, которая им была не нужна. И наоборот — монолит на 200 000 пользователей превращался в неуправляемый комок кода, который невозможно масштабировать. Обе крайности дорого обходятся бизнесу.

В этой статье — конкретные критерии: когда монолит сэкономит деньги, когда микросервисы себя окупят, и как не попасть в ловушку хайпа.

Монолитная архитектура приложения: когда достаточно

Монолит — это единое приложение, где весь код живёт в одной кодовой базе, деплоится одним артефактом и работает в одном процессе. Звучит устаревше? На практике 70% бизнес-приложений в 2026 году — это монолиты. И работают отлично.

Сильные стороны монолита для бизнеса

Скорость старта. Команда из 2–4 разработчиков может запустить MVP за 2–3 месяца. Нет накладных расходов на оркестрацию, сервис-меши, распределённые транзакции. Один корпоративный портал на Jmix — от идеи до продакшена за 8 недель.

Простота отладки. Один стектрейс вместо 15 распределённых логов. Ошибка в монолите находится за 20 минут, в микросервисах — за 2–4 часа (с трейсингом) или за 2 дня (без него).

Низкая стоимость инфраструктуры. Один сервер за 5 000–15 000 руб./мес против кластера Kubernetes за 40 000–120 000 руб./мес. Для приложения с 500–5 000 пользователей разница — 300 000–600 000 руб. в год.

Транзакционная целостность. ACID-транзакции из коробки. Не нужно реализовывать Saga-паттерн, eventual consistency и двухфазные коммиты. Для финансовых операций, документооборота и CRM-систем — критично.

Когда монолит — правильный выбор

Монолит подходит, если:

  • Команда до 10 человек
  • Нагрузка до 10 000 одновременных пользователей
  • Единая бизнес-доменная область (CRM, ERP, документооборот)
  • Бюджет на MVP — до 2 млн рублей
  • Нет требований к независимому масштабированию отдельных модулей

Пример: система автоматизации документооборота для 300 сотрудников. Монолит на Spring Boot + PostgreSQL. Время отклика — 120 мс, 99.5% uptime, стоимость инфраструктуры — 8 000 руб./мес.

Микросервисы: преимущества, масштабирование и скрытые затраты

Микросервисы — это набор небольших, независимо развёртываемых сервисов, каждый из которых отвечает за одну бизнес-функцию. Общение между ними — через API (REST, gRPC) или очереди сообщений (Kafka, RabbitMQ).

Когда микросервисы действительно нужны

Независимое масштабирование. У вас 1 млн+ устройств шлют телеметрию, но административная панель обслуживает 50 операторов. Масштабировать нужно только ingestion-сервис, а не всё приложение. В IoT-проекте на Java и Kafka мы обрабатывали 15 000 сообщений в секунду в одном сервисе, пока остальные 8 сервисов работали на минимальных ресурсах.

Разные команды — разные сервисы. Если у вас 20+ разработчиков, монолит превращается в бутылочное горлышко: мерж-конфликты, сломанные билды, невозможность деплоить один модуль без регрессии в другом. Микросервисы позволяют 3–4 командам деплоить независимо, по 5–10 релизов в день каждая.

Полиглотный стек. ML-модуль на Python, основной backend на Java, real-time нотификации на Go. В монолите это невозможно. В микросервисах — стандартная практика.

Дашборд мониторинга микросервисов и аналитика производительности

Скрытые затраты микросервисов, о которых молчат

Инфраструктурный overhead. Kubernetes кластер, service mesh (Istio/Linkerd), centralized logging (ELK/Loki), distributed tracing (Jaeger), API gateway — это 40 000–150 000 руб./мес только на инфраструктуру. Плюс DevOps-инженер за 250 000–400 000 руб./мес.

Сложность разработки. Распределённые транзакции, eventual consistency, circuit breakers, retry policies, идемпотентность — каждый паттерн добавляет 15–30% к времени разработки фичи. Простой CRUD, который в монолите занимает 2 часа, в микросервисах может потребовать 6–8 часов.

Организационная зрелость. Микросервисы требуют CI/CD pipeline для каждого сервиса, contract testing между сервисами, централизованное управление конфигурацией. Если у вас нет выделенного DevOps — не начинайте.

Как выбрать архитектуру приложения: 5 ключевых вопросов

1. Сколько разработчиков будут работать над проектом?
До 8 человек → монолит. 10–15 → модульный монолит. 15+ → микросервисы. Закон Конвея работает: архитектура повторяет структуру организации.

2. Какая ожидаемая нагрузка через 12 месяцев?
До 5 000 одновременных пользователей → монолит справится. 5 000–50 000 → модульный монолит с возможностью выделения hot-модулей. 50 000+ → микросервисы.

3. Нужно ли масштабировать отдельные части системы независимо?
Если да (например, обработка платежей отдельно от каталога товаров) → микросервисы. Если нагрузка равномерная → монолит проще масштабируется вертикально.

4. Какой бюджет на инфраструктуру?
Монолит: 5 000–30 000 руб./мес. Микросервисы: 50 000–200 000 руб./мес. Если бюджет ограничен — монолит в 3–5 раз дешевле.

5. Есть ли DevOps-экспертиза в команде?
Нет DevOps → монолит. Есть 1 DevOps → модульный монолит. Есть DevOps-команда → можно микросервисы.

Модульный монолит: масштабирование без микросервисов

Модульный монолит — это архитектурный подход, где приложение остаётся единым артефактом, но внутри разделено на изолированные модули с чёткими границами. Каждый модуль имеет свой bounded context, общается с другими через внутренние API, и может быть выделен в отдельный сервис при необходимости.

Как это работает на практике. В Jmix-проектах мы используем модульную структуру: модуль авторизации, модуль отчётов, модуль интеграций — каждый со своим набором сущностей и сервисов. При этом деплой — один JAR-файл, база — одна, транзакции — ACID.

Преимущества:

  • Простота монолита (один деплой, одна БД) + изоляция микросервисов (чёткие границы модулей)
  • Возможность выделить «горячий» модуль в отдельный сервис за 1–2 спринта
  • Время старта MVP — 2–4 месяца (на 30% быстрее микросервисов)
  • Стоимость инфраструктуры — как у монолита (5 000–30 000 руб./мес)

Для 80% бизнес-проектов модульный монолит — оптимальный выбор. Вы получаете скорость разработки монолита с архитектурной чистотой, которая позволяет перейти на микросервисы, когда (и если) это действительно понадобится.

Кейс: эволюция архитектуры приложения GPS-платформы

Мы разрабатывали GPS-трекинговую систему, которая прошла все три стадии:

Стадия 1 (0–6 месяцев): Монолит на Jmix. 500 устройств, 10 пользователей. Один сервер за 7 000 руб./мес. Команда — 2 человека. Время от идеи до первого клиента — 3 месяца.

Стадия 2 (6–18 месяцев): Модульный монолит. 15 000 устройств, 200 пользователей. Выделили модуль приёма данных (MQTT) в отдельный процесс, остальное — единое приложение. Инфраструктура — 25 000 руб./мес.

Стадия 3 (18+ месяцев): Частичные микросервисы. 1 млн+ устройств. Kafka для обработки телеметрии (отдельный сервис), REST API gateway, аналитический сервис. Основная бизнес-логика — по-прежнему модульный монолит. Инфраструктура — 85 000 руб./мес, но обслуживает в 200 раз больше устройств.

Вывод: не нужно выбирать раз и навсегда. Архитектура эволюционирует вместе с продуктом.

Выводы и рекомендации

Начинайте с монолита. 90% стартапов, которые начали с микросервисов, потратили лишние 2–4 месяца и 1–3 млн рублей на инфраструктуру, которая не понадобилась в первый год.

Проектируйте модульно. Даже если пишете монолит — делайте чёткие границы между модулями. Это инвестиция в будущее: выделить модуль в сервис за 2 недели проще, чем распиливать «большой ком грязи» за 6 месяцев.

Микросервисы — для зрелых команд и продуктов. Если у вас нет DevOps, CI/CD pipeline и как минимум 10 разработчиков — микросервисы принесут больше проблем, чем пользы.

Считайте TCO, не только разработку. Микросервисы в 3–5 раз дороже по инфраструктуре и требуют на 30–50% больше DevOps-ресурсов. Убедитесь, что бизнес-кейс оправдывает эти затраты.

Нужна помощь с выбором архитектуры для вашего проекта? Мы в DEVRUM проектируем системы на Java, Spring Boot и Jmix с учётом реальных бизнес-требований — от MVP до высоконагруженных платформ. Напишите нам — обсудим вашу задачу.