С наступлением эпохи микросервисной архитектуры и облачных технологий монолит воспринимается как плохая практика и вообще что-то устаревшее.
К плюсам микросервисов можно отнести лёгкость освоения кодовой базы новичками и готовность к горизонтальному масштабированию by design. Однако за это мы платим дублированием кода и данных в разных микросервисах, большим количеством однотипных правок при обновлении библиотек и сервисных паролей, а также сложными релизами.
В монолите же огромная кодовая база, которую трудно держать в голове, и велика вероятность упереться в потолок по техническим лимитам на сервере. Однако монолиты быстрее разрабатывать, проще релизить и обновлять в нём библиотеки.
Я считаю, что для крупных и "устоявшихся" корпоративных приложений подходят только микросервисы, а для прототипов - монолит. При старте нового продукта логичнее сначала сделать монолит, проверить гипотезы и затем постепенно его распиливать на части.
А какую архитектуру выбрали бы вы при старте нового проекта?
Post #128
202

- 👍 7
- 🔥 3
- ❤ 2
- 💯 1