June 11

Готовимся к собеседованию — монолит vs микросервисы

Монолит — это единое приложение: интерфейс, бизнес-логика и база в одном деплой-юните.

Плюсы

  • проще разрабатывать и отлаживать
  • дешевле инфраструктура
  • один деплой
  • меньше хлопот с сетью

Минусы

  • масштабируется только целиком
  • компоненты связаны друг с другом
  • со временем поддержка превращается в боль
  • стек обычно один
  • сбой может уронить всё приложение

Микросервисы — это набор независимых сервисов, каждый делает свою задачу и общается через API/события.

Плюсы

  • можно обновлять и масштабировать отдельные части
  • лучше изоляция ошибок
  • разные команды и стеки под разные сервисы

Минусы

  • сложнее управлять всей системой
  • выше требования к DevOps и наблюдаемости
  • больше сетевых задержек и отказов
  • сложнее транзакции (саги, eventual consistency)
  • нужны более зрелые инженеры

Что важно сказать на собесе

Монолит отлично подходит для MVP, небольших проектов, ограниченного бюджета и команды до 5–10 человек.

Микросервисы — для крупных систем с высокой/неоднородной нагрузкой и несколькими командами, когда нужна гибкость релизов и независимое масштабирование.

Микросервисы — не «модно», а «дорого, но осознанно»; монолит — не «легаси по умолчанию», а нормальный старт, если контекст простой.

Подробнее на сайте