Почему мы вернулись к модульному монолиту

Команды разработчиков меняют свою стратегию. Многие команды потратили годы на разделение приложений на микросервисы. Теперь они собирают всё воедино. И они не строят старые, запутанные монолиты. Они строят модульные монолиты.

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

Модульный монолит дает лучшее из обоих миров. Он остается единицей развертывания, но код организован в строгие модули. Вы получаете четкие границы без высоких затрат на эксплуатацию распределенной системы.

Сравнение двух подходов:

• Развертывание: Монолиты используют одну единицу. Микросервисы — множество. • Границы: В монолитах используются строгие правила кода. В микросервисах — сеть. • Взаимодействие: В монолитах используются простые вызовы функций. В микросервисах — сетевые вызовы. • Накладные расходы: У монолитов низкие эксплуатационные расходы. У микросервисов — высокие.

Когда стоит выбрать модульный монолит?

  • В вашей команде менее 50 инженеров.
  • Вам нужно снизить затраты на облачную инфраструктуру.
  • Вы хотите упростить отладку и тестирование.
  • Ваши сервисы всё равно часто приходится развертывать вместе.

Реальные компании уже делают это. Shopify использует модульный подход для управления миллионами мерчантов. Amazon Prime Video перевела определенную рабочую нагрузку с микросервисов обратно на монолит. Они добились 90-процентного снижения затрат на инфраструктуру.

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

Используйте этот чек-лист, чтобы понять, нужно ли вам консолидировать систему:

  • Вы тратите больше времени на отладку соединений между сервисами, чем на создание новых функций?
  • Ваш счет за облако растет быстрее, чем число пользователей?
  • У вас менее 5 DevOps-инженеров на множество сервисов?
  • Инженерам приходится отслеживать один запрос через 3 или более сервисов, чтобы найти баг?

Если вы ответили «да», то переход на модульный монолит, скорее всего, будет правильным решением.

Источник: https://dev.to/ail_akram_dcc5063c428734b/why-we-moved-back-to-a-modular-monolith-the-costly-reality-of-microservices-in-2026-3kbo

Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi