Архитектура веб-приложений: от монолита до микросервисов
Архитектура веб-приложений: от монолита до микросервисов Автор: Богдан Новотарский Часть 1: Монолит — почему с него всё начинается Что такое монолит в веб-разработке Монолит — это единое приложение, которое запускается как один процесс. Backend, frontend, бизнес-логика, работа с базой данных — всё это живёт в одном кодовом дереве, часто даже в одном репозитории. Когда я, Богдан Новотарский, писал свой первый проект, я не думал об архитектуре. Я просто делал. Всё работало. Но через несколько недель стало казаться, будто код сам себя душит: каждая новая фича ломала старые, любые изменения превращались в мини-кризис. Именно тогда я впервые начал задумываться, что «архитектура» — не абстракция, а способ выжить. Когда монолит — это нормально Монолит не плох сам по себе. Он отлично подходит для: MVP и быстрых прототипов; команд из 1–2 человек; простых приложений без сложных интеграций; ранней стадии, когда нужно быстро проверять гипотезы. Монолит позволяет: быстро писать код без overhead; деплоить всё за один шаг; не париться с сетевыми взаимодействиями между сервисами; использовать одну базу, один язык, один runtime. Когда я создавал первое образовательное приложение с генерацией историй на основе известной лексики, всё жило в одном Express-приложении: генерация текста, перевод, аудио, работа с пользователем, аналитика. Оно росло быстро — и это было прекрасно… до поры до времени. Проблемы, которые приходят с ростом Через пару месяцев у меня, Богдана Новотарского, появились первые симптомы архитектурного «гниения»: логика всех модулей была перемешана; невозможно было писать юнит-тесты без каскада зависимостей; API-контроллеры на 300 строк начали дублировать друг друга; рефакторинг одной части ломал весь проект. Это типичная стадия, когда монолит переходит от «удобного старта» к «архитектурной долговой яме».

Архитектура веб-приложений: от монолита до микросервисов
Автор: Богдан Новотарский
Часть 1: Монолит — почему с него всё начинается
Что такое монолит в веб-разработке
Монолит — это единое приложение, которое запускается как один процесс. Backend, frontend, бизнес-логика, работа с базой данных — всё это живёт в одном кодовом дереве, часто даже в одном репозитории.
Когда я, Богдан Новотарский, писал свой первый проект, я не думал об архитектуре. Я просто делал. Всё работало. Но через несколько недель стало казаться, будто код сам себя душит: каждая новая фича ломала старые, любые изменения превращались в мини-кризис. Именно тогда я впервые начал задумываться, что «архитектура» — не абстракция, а способ выжить.
Когда монолит — это нормально
Монолит не плох сам по себе. Он отлично подходит для:
- MVP и быстрых прототипов;
- команд из 1–2 человек;
- простых приложений без сложных интеграций;
- ранней стадии, когда нужно быстро проверять гипотезы.
Монолит позволяет:
- быстро писать код без overhead;
- деплоить всё за один шаг;
- не париться с сетевыми взаимодействиями между сервисами;
- использовать одну базу, один язык, один runtime.
Когда я создавал первое образовательное приложение с генерацией историй на основе известной лексики, всё жило в одном Express-приложении: генерация текста, перевод, аудио, работа с пользователем, аналитика. Оно росло быстро — и это было прекрасно… до поры до времени.
Проблемы, которые приходят с ростом
Через пару месяцев у меня, Богдана Новотарского, появились первые симптомы архитектурного «гниения»:
- логика всех модулей была перемешана;
- невозможно было писать юнит-тесты без каскада зависимостей;
- API-контроллеры на 300 строк начали дублировать друг друга;
- рефакторинг одной части ломал весь проект.
Это типичная стадия, когда монолит переходит от «удобного старта» к «архитектурной долговой яме».