У нас есть примеры таких проектов. Один из них — Dprofile, наш собственный продукт. Это площадка для дизайнеров, заказчиков и работодателей, где мы тоже постепенно наращиваем функционал.
Разработку Dprofile мы начали с монолита — на Laravel и Vue.js. Это позволило быстро стартовать, что было очень важно для нас.
Сейчас мы перешли на микросервисную архитектуру, которая отчасти реализована на Java. И перенесли сервера на облачные сервисы «Яндекса».
Это сложный процесс, но он позволяет площадке выдерживать высокие нагрузки и быть бесперебойной.
Наконец начали писать про разработку. А то всё про дизайн и про дизайн.
Боже! Что это за бред?!
Автор! Ознакомьтесь для начала с POSIX архитектурой и навсегда уясните, что "монолита" в природе не существует. Абсолютно любая программа использует в своей работе другие программы и библиотеки. Для взаимодействия с ОС, для межпрограммного взаимодействия (встраивание объектов), взаимодействия с сетью, базами данных, использование сопрогоамм и тд.
Какой бы монструозной она не была (пример - explorer со всеми ее функциями, начиная от менеджера рабочего стола до браузера пока не перешли на хромиум)
И даже в этом случае программе не является сферическим конём в вакууме.
Ещё один пример такого софта - СУБД. ну ка, расскажите, как это, например, oracle выполняет задачи в одном потоке?
Всё это псевдо "деление", лишь очередная мода и профанация.
Да, действительно большинство программ использует внешние ресурсы, но речь об архитектуре разрабатываемого приложения, а не о внешних API. Даже самый простой интернет-магазин будет использовать API какой-то платежной системы, а не изобретать что-то своё.
В статье речь о том, что есть разные подходы к архитектуре, которые влияют на сроки, стоимость и возможности. При разработке приложения на базе микросервисной архитектуры, приложение легче масштабировать. Помимо вертикального масштабирования, открывается возможность горизонтального масштабирования.
Да, можно поднять несколько реплик и монолитного приложения, но такие реплики будут более затратны по ресурсам, а соответственно при той же стоимости серверов, будут давать меньшую производительность и быстрее упрутся в денежный потолок.
Ещё нужно брать во внимание то, что статья написана для нетехнарей: для владельцев бизнеса, маркетологов, проджектов и продактов. Поэтому статья специально написана упрощённо
Если вы выбрали монолит, то рекомендую даже его делать с оглядкой на то, что могут потребоваться микросервисы, т.е. все делать через контракты (интерфейсы) с четким разделением границ у модулей.
Микросервисы это не только про масштабируемость, но и про возможность использовать в проекте разные технологии, даже маленьким компаниям это бывает полезно.
Это называется модульный монолит обладает плюсами монолита (быстро и просто писать) и плюсами микросервисов (низкая связность и возможность легче масштабировать отдельные куски) я про это читал пару раз доклад, однажды приведу его статье