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

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

Плюсы ➖Проще разрабатывать и отлаживать ➖Дешевле инфраструктура ➖Один деплой ➖Меньше хлопот с сетью

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

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

Плюсы ➖Можно обновлять и масштабировать отдельные части ➖Лучше изоляция ошибок ➖Разные команды и стеки под разные сервисы

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

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

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

У микросервисов минусов больше, но масштабирование и отказоустойчивость перекрывают их все.

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

#ГотовимсяКСобеседованию

Готовимся к собеседованию — монолит vs микросервисы
Монолит — это единое приложение: интерфейс, бизнес-логика и база в одном деплой-юните | Сетка — социальная сеть от hh.ru